Re: mmotm 2010-02-10 - BUG at fs/dcache.c:677!

From: Jun'ichi Nomura
Date: Thu Feb 11 2010 - 23:52:45 EST


(02/12/10 12:14), Andrew Morton wrote:
> On Thu, 11 Feb 2010 21:44:17 -0500 Valdis.Kletnieks@xxxxxx wrote:
>
>> On Wed, 10 Feb 2010 16:17:41 PST, akpm@xxxxxxxxxxxxxxxxxxxx said:
>>> The mm-of-the-moment snapshot 2010-02-10-16-17 has been uploaded to
>>>
>>> http://userweb.kernel.org/~akpm/mmotm/
>>
>> Hit this at shutdown. ext4 filesystems. Brought it up to single-user
>> mode, then 'shutdown -h now'.
>>
>> [ 58.311786] ------------[ cut here ]------------
>> [ 58.312261] kernel BUG at fs/dcache.c:677!
...

> Yeah, Sachin reported that against linux-next too (I think - need to
> check the exact line numbers):
> http://permalink.gmane.org/gmane.linux.file-systems/38148
>
> It seems to have been met with shrugs thus far.

According to the Sachin's report:
> While running hackbench against today's next-20100208 (9056d31..)
> on a s390 box, came across following BUG.
...
> Did not observe this with next-20100205. Also there doesn't seem to be
> any patches applied to this code after the last release. So not
> sure what could have caused this. Corresponding code is :

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;
> }

--
Jun'ichi Nomura, NEC Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/