[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFxAfWHdSH+45qgids1ByBxzieZnz_ujRXYGY-at1mg5eg@mail.gmail.com>
Date: Fri, 8 Mar 2013 10:51:03 -0800
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Dave Jones <davej@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
Al Viro <viro@...iv.linux.org.uk>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: BUG_ON(nd->inode != parent->d_inode);
On Fri, Mar 8, 2013 at 7:04 AM, Dave Jones <davej@...hat.com> wrote:
>
> Managed to trigger this one from a different path..
>
> kernel BUG at fs/namei.c:1439!
> Call Trace:
> [<ffffffff811c973e>] path_lookupat+0x71e/0x740
> [<ffffffff811c9794>] filename_lookup+0x34/0xc0
> [<ffffffff811cc58e>] user_path_at_empty+0x8e/0x110
> [<ffffffff811cc621>] user_path_at+0x11/0x20
> [<ffffffff811e4347>] sys_lgetxattr+0x37/0xa0
> [<ffffffff816d11c2>] system_call_fastpath+0x16/0x1b
>
> What can I dump here that might give us more clues ?
I think we should do the same thing and print out dentry names to give
us clues about where in /proc the problem happens.
And it doesn't really have to be proc - because of the symlinks in
/proc, we could easily get to /sys through processes like udev etc..
So how about just replaving that BUG_ON() with a
if (WARN_ON(nd->inode != parent->d_inode)) {
printk("%s -> %s (%s)\n", parent->d_name.name,
path->dentry->d_name.name, nd->last.name);
return -EINVAL;
}
or something like that.
Hopefully that gives some clue about whare it happens, and some idea
about what migth be going on..
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists