Re: Kernel BUG due to kernel page fault

From: Larry Finger
Date: Fri Jan 27 2012 - 13:07:57 EST


On 01/27/2012 10:42 AM, Stanislaw Gruszka wrote:
On Thu, Jan 26, 2012 at 04:36:47PM -0600, Larry Finger wrote:
Modules linked in: fuse autofs4 snd_pcm_oss snd_mixer_oss snd_seq
snd_seq_device edd nfs nfsd lockd auth_rpcgss nfs_acl sunrpc
exportfs ipv6 vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RIP: 0010:[<ffffffff811e3ecb>] [<ffffffff811e3ecb>] strnlen+0xb/0x30
[snip]
Call Trace:
[<ffffffff811e58ae>] string.isra.4+0x3e/0xd0
[<ffffffff811e6889>] vsnprintf+0x219/0x600
[<ffffffff81153093>] seq_printf+0x53/0x80
[<ffffffff811e21db>] ? radix_tree_lookup+0xb/0x10
[<ffffffff810ba5ab>] show_interrupts+0x24b/0x300
[<ffffffff81153474>] seq_read+0x2b4/0x3f0
[<ffffffff811531c0>] ? seq_lseek+0x100/0x100
[<ffffffff8118b651>] proc_reg_read+0x81/0xc0
[<ffffffff8112f967>] vfs_read+0xa7/0x160
[<ffffffff8112fa65>] sys_read+0x45/0x90
[<ffffffff813a33a2>] system_call_fastpath+0x16/0x1b

This is call trace from cat /proc/interrupts, seems something pass
malformed string to request_irq(). I do not think this is rtlwifi,
rather that vbox thing.

Thanks for responding. Vbox may be guilty of a lot of things, but this is not one of them.

Just before I received your reply, I found the problem. The PCI driver in rtlwifi sets a flag to indicate that interrupts have been enabled, and uses that flag to tell if the cleanup needs to disable them. When I moved the code that starts mac80211, I also moved the statement that sets the flag. As a result, the driver was exiting with interrupts still enabled, and the BUG resulted from that. I can now unload the driver when firmware is not available.

Larry




--
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/