Hi all, On Fri, 12 Feb 2010 13:51:12 +0900 "Jun'ichi Nomura" <j-nomura@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx http://www.canb.auug.org.au/~sfr/
Attachment:
pgppkXYwt16Yl.pgp
Description: PGP signature