Messages in this thread | | | Date | Fri, 12 Feb 2010 16:30:42 +1100 | From | Stephen Rothwell <> | Subject | Re: mmotm 2010-02-10 - BUG at fs/dcache.c:677! |
| |
Hi all,
On Fri, 12 Feb 2010 13:51:12 +0900 "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com> wrote: > > So the bug seems introduced between next-20100205 and next-20100208. > > Isn't this change missing the equivalent of "dput(old)"? > > In patch-v2.6.33-rc7-next-20100208: > > diff --git a/fs/namei.c b/fs/namei.c > > index 94a5e60..a056dad 100644 > > --- a/fs/namei.c > > +++ b/fs/namei.c > > @@ -689,33 +689,17 @@ static __always_inline void follow_dotdot(struct nameidata *nd) > ... > > - spin_lock(&dcache_lock); > > if (nd->path.dentry != nd->path.mnt->mnt_root) { > > - nd->path.dentry = dget(nd->path.dentry->d_parent); > > - spin_unlock(&dcache_lock); > > - dput(old); > > + /* rare case of legitimate dget_parent()... */ > > + nd->path.dentry = dget_parent(nd->path.dentry); > > break; > > }
That is part of commit 12578f932a8ad5f01bbf957d9c941760ef0dc575 ("Clean follow_dotdot() up a bit") from the vfs tree. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [unhandled content-type:application/pgp-signature] | |