From: Dave Jones <davej@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: BUG_ON(nd->inode != parent->d_inode);
Date: Fri, 8 Mar 2013 14:20:42 -0500 [thread overview]
Message-ID: <20130308192042.GA10305@redhat.com> (raw)
In-Reply-To: <20130308191804.GA9774@redhat.com>
On Fri, Mar 08, 2013 at 02:18:04PM -0500, Dave Jones wrote:
> On Fri, Mar 08, 2013 at 10:51:03AM -0800, Linus Torvalds wrote:
> > On Fri, Mar 8, 2013 at 7:04 AM, Dave Jones <davej@redhat.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.
>
> Ugh, something in there is NULL..
>
> BUG: unable to handle kernel NULL pointer dereference at (null)
> IP: [< (null)>] (null)
> PGD 10883f067 PUD 10883e067 PMD 0
> Oops: 0010 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> Modules linked in: decnet ipx p8023 p8022 af_rxrpc appletalk psnap can rose af_key ax25 caif_socket caif crc_ccitt nfc atm llc2 phonet llc x25 lockd sunrpc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_conntrack nf_conntrack ip6table_filter ip6_tables btusb bluetooth snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_pcm usb_debug edac_core microcode serio_raw pcspkr rfkill snd_page_alloc snd_timer snd r8169 soundcore mii vhost_net tun macvtap macvlan kvm_amd kvm radeon backlight drm_kms_helper ttm
> CPU 2
> Pid: 942, comm: trinity-child2 Not tainted 3.9.0-rc1+ #79 Gigabyte Technology Co., Ltd. GA-MA78GM-S2H/GA-MA78GM-S2H
> RIP: 0010:[<0000000000000000>] [< (null)>] (null)
> RSP: 0018:ffff88010885ddc0 EFLAGS: 00010246
> RAX: ffffffff8181f540 RBX: ffff88010b3eb090 RCX: 0000000000000000
> RDX: 0000000000000600 RSI: ffff88010b3eb090 RDI: ffff88010b359be8
> RBP: ffff88010885dde8 R08: 0000000000000001 R09: 0000000000000000
> R10: 0000000000000001 R11: 0000000000000000 R12: ffff88010b3e9720
> R13: ffff88010885df38 R14: 0000000000000000 R15: 000000006a59949a
> FS: 00007feff7939740(0000) GS:ffff88012aa00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000000 CR3: 0000000108840000 CR4: 00000000000007e0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process trinity-child2 (pid: 942, threadinfo ffff88010885c000, task ffff88011939a490)
> Stack:
> ffffffff811c62fd ffff88010b3e9720 ffff88010885df38 0000000000000000
> 0000000000000600 ffff88010885de18 ffffffff811c6518 ffff88010885de28
> 0100000000000000 0000000000000000 0000000000000000 ffff88010885de28
> Call Trace:
> [<ffffffff811c62fd>] ? lookup_real+0x1d/0x60
> [<ffffffff811c6518>] __lookup_hash+0x38/0x50
> [<ffffffff811c6549>] lookup_hash+0x19/0x20
> [<ffffffff811c9983>] kern_path_create+0x93/0x170
> [<ffffffff811c7e36>] ? getname_flags.part.33+0x86/0x150
> [<ffffffff811c9aaa>] user_path_create+0x4a/0x70
> [<ffffffff811cc87c>] sys_mknodat+0xac/0x1d0
> [<ffffffff816d1242>] system_call_fastpath+0x16/0x1b
> Code: Bad RIP value.
> RIP [< (null)>] (null)
> RSP <ffff88010885ddc0>
> CR2: 0000000000000000
>
> I'll turn off DEBUG_PAGEALLOC again, so I can get the RIP and figure out which deref it is.
Wait, it has to be that path->dentry->d_name.name.
The other derefs are the same as before.
Dave
next prev parent reply other threads:[~2013-03-08 19:20 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-07 2:16 BUG_ON(nd->inode != parent->d_inode); Dave Jones
2013-03-07 15:30 ` BUG_ON(nd->inode->i_op->follow_link); Dave Jones
2013-03-07 17:30 ` BUG_ON(nd->inode->i_op->follow_link); Linus Torvalds
2013-03-07 19:35 ` BUG_ON(nd->inode->i_op->follow_link); Dave Jones
2013-03-07 20:33 ` BUG_ON(nd->inode->i_op->follow_link); Linus Torvalds
2013-03-07 21:38 ` ipc/testmsg GPF Dave Jones
2013-03-07 21:45 ` Linus Torvalds
2013-03-07 21:49 ` David Miller
2013-03-07 21:51 ` Linus Torvalds
2013-03-07 22:03 ` Dave Jones
2013-03-07 22:36 ` pipe_release oops Dave Jones
2013-03-07 23:14 ` fasync_remove_entry oops Dave Jones
2013-03-07 23:46 ` Linus Torvalds
2013-03-07 23:54 ` Dave Jones
2013-03-08 0:20 ` Dave Jones
2013-03-08 0:21 ` pipe_release oops Linus Torvalds
2013-03-08 14:53 ` Dave Jones
2013-03-08 18:30 ` Linus Torvalds
2013-03-08 18:26 ` Jörn Engel
2013-03-10 23:33 ` Al Viro
2013-03-12 19:09 ` Jörn Engel
2013-03-10 22:10 ` Al Viro
2013-03-11 0:35 ` Al Viro
2013-03-11 15:10 ` Linus Torvalds
2013-03-11 18:05 ` Al Viro
2013-03-12 13:06 ` Al Viro
2013-03-12 15:31 ` Linus Torvalds
2013-03-12 19:43 ` Al Viro
2013-03-12 19:56 ` Dave Jones
2013-03-12 20:09 ` Linus Torvalds
2013-03-12 20:51 ` Al Viro
2013-03-27 13:51 ` Yet another pipe related oops Dave Jones
2013-03-27 15:20 ` Al Viro
2013-03-27 16:33 ` Linus Torvalds
2013-03-27 16:53 ` Raymond Jennings
2013-03-27 17:45 ` Al Viro
2013-04-01 20:34 ` Al Viro
2013-04-01 21:00 ` Greg Kroah-Hartman
2013-04-01 21:21 ` Al Viro
2013-04-01 21:44 ` Greg Kroah-Hartman
2013-04-01 23:27 ` Al Viro
2013-04-02 0:22 ` Al Viro
2013-04-02 1:55 ` Greg Kroah-Hartman
2013-03-12 1:27 ` pipe_release oops Dave Jones
2013-03-09 0:27 ` ipc/testmsg GPF Peter Hurley
2013-03-09 0:32 ` Dave Jones
2013-03-11 18:26 ` Dave Jones
2013-03-11 19:03 ` Peter Hurley
2013-03-12 22:02 ` Andrew Morton
2013-03-12 22:33 ` Dave Jones
2013-03-15 21:21 ` Dave Jones
2013-03-25 16:37 ` Dave Jones
2013-03-25 18:28 ` Peter Hurley
2013-03-25 18:39 ` Dave Jones
2013-03-07 22:18 ` BUG_ON(nd->inode->i_op->follow_link); Dave Jones
2013-03-07 22:50 ` BUG_ON(nd->inode->i_op->follow_link); Linus Torvalds
2013-03-07 23:03 ` BUG_ON(nd->inode->i_op->follow_link); Dave Jones
2013-03-07 23:55 ` BUG_ON(nd->inode->i_op->follow_link); Linus Torvalds
2013-03-11 0:02 ` BUG_ON(nd->inode->i_op->follow_link); Al Viro
2013-03-10 23:04 ` BUG_ON(nd->inode->i_op->follow_link); Al Viro
2013-03-12 18:31 ` BUG_ON(nd->inode->i_op->follow_link); Linus Torvalds
2013-03-08 15:04 ` BUG_ON(nd->inode != parent->d_inode); Dave Jones
2013-03-08 18:51 ` Linus Torvalds
2013-03-08 19:18 ` Dave Jones
2013-03-08 19:20 ` Dave Jones [this message]
2013-03-08 19:36 ` Dave Jones
2013-03-08 19:47 ` Linus Torvalds
2013-03-08 21:04 ` Dave Jones
2013-03-08 22:41 ` Linus Torvalds
2013-03-08 23:07 ` Dave Jones
2013-03-08 23:14 ` Dave Jones
2013-03-08 23:20 ` Linus Torvalds
2013-03-08 23:28 ` Linus Torvalds
2013-03-08 23:34 ` Dave Jones
2013-03-08 23:47 ` Dave Jones
2013-03-08 23:51 ` Linus Torvalds
2013-03-08 23:30 ` Dave Jones
2013-03-08 23:45 ` Linus Torvalds
2013-03-08 23:55 ` Dave Jones
2013-03-09 0:02 ` Linus Torvalds
2013-03-09 0:19 ` Dave Jones
2013-03-09 0:29 ` Raymond Jennings
2013-03-09 0:36 ` Dave Jones
2013-03-09 1:18 ` Linus Torvalds
2013-03-09 2:03 ` Dave Jones
2013-03-09 2:08 ` Linus Torvalds
2013-03-09 2:26 ` Dave Jones
2013-03-09 2:56 ` Dave Jones
2013-03-09 2:57 ` Dave Jones
[not found] ` <CA+55aFxyOYXnzDoWr7Utr1QLjjMUCON5EGH3FMvGBHxnxMJmQQ@mail.gmail.com>
2013-03-09 3:25 ` Dave Jones
2013-03-09 3:38 ` Eric W. Biederman
2013-03-09 4:26 ` Dave Jones
2013-03-09 8:28 ` Eric W. Biederman
[not found] ` <CA+55aFweyfew3VU79ZQV4otJcWiF0=xKXxDtADXcccNxGaqMwA@mail.gmail.com>
2013-03-09 3:50 ` Dave Jones
2013-03-09 4:31 ` Linus Torvalds
2013-03-09 4:39 ` Dave Jones
2013-03-09 5:13 ` Sasha Levin
2013-03-09 5:16 ` Dave Jones
2013-03-09 3:27 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130308192042.GA10305@redhat.com \
--to=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.