[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20100212163042.da2fb31d.sfr@canb.auug.org.au>
Date: Fri, 12 Feb 2010 16:30:42 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: "Jun'ichi Nomura" <j-nomura@...jp.nec.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Al Viro <viro@...iv.linux.org.uk>, Valdis.Kletnieks@...edu,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-s390@...r.kernel.org, linux-next@...r.kernel.org,
Heiko Carstens <heiko.carstens@...ibm.com>
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@...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@...b.auug.org.au
http://www.canb.auug.org.au/~sfr/
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists