Messages in this thread | | | Date | Fri, 15 May 2015 06:11:00 +0100 | From | Al Viro <> | Subject | Re: [PATCH v3 109/110] namei: handle absolute symlinks without dropping out of RCU mode |
| |
On Mon, May 11, 2015 at 07:08:09PM +0100, Al Viro wrote: > @@ -499,7 +499,7 @@ struct nameidata { > struct path root; > struct inode *inode; /* path.dentry.d_inode */ > unsigned int flags; > - unsigned seq, m_seq; > + unsigned seq, m_seq, root_seq; > int last_type; > unsigned depth; > int total_link_count; > @@ -780,14 +780,14 @@ static __always_inline void set_root(struct nameidata *nd) > static __always_inline unsigned set_root_rcu(struct nameidata *nd) > { > struct fs_struct *fs = current->fs; > - unsigned seq, res; > + unsigned seq; > > do { > seq = read_seqcount_begin(&fs->seq); > nd->root = fs->root; > - res = __read_seqcount_begin(&nd->root.dentry->d_seq); > + nd->root_seq = __read_seqcount_begin(&nd->root.dentry->d_seq);
nd->root_seq is also needed in LOOKUP_ROOT | LOOKUP_RCU case. Fixed and folded.
| |