kernel BUG at kernel/kallsyms.c:222!

From: Axel Lin
Date: Wed Nov 06 2013 - 20:53:44 EST


Hi,
I got below oops while debugging a sd controller driver:

[ 4.032026] ------------[ cut here ]------------
[ 4.036730] kernel BUG at kernel/kallsyms.c:222!
[ 4.041501] Internal error: Oops - BUG: 0 [#1] ARM
[ 4.046847] CPU: 0 PID: 6 Comm: kworker/u2:0 Not tainted 3.12.0-00061-g0835d93-dirty #1657

I can avoid the oops by either revert commit f6537f2f0eba4eba
"scripts/kallsyms: filter symbols not in kernel address space",
or comment out below line in drivers/mmc/core/sdio.c.
dev_dbg(&card->dev, "calling %pF\n", f->vendor_fixup);

The f->vendor_fixup points to add_quirk_for_sdio_devices.
It looks like the symbol add_quirk_for_sdio_devices is missing.

So I revert commit f6537f2f and check /proc/kallsyms:
~ # grep add_quirk_for_sdio_devices /proc/kallsyms
00157bf8 t add_quirk_for_sdio_devices

If I don't revert commit f6537f2f and just comment out above dev_dbg line,
Checking /proc/kallsyms then I got:
~ # grep add_quirk_for_sdio_devices /proc/kallsyms
[sched_delayed] sched: RT throttling activated
BUG: soft lockup - CPU#0 stuck for 21s! [grep:59]

CPU: 0 PID: 59 Comm: grep Not tainted 3.12.0-00061-g0835d93-dirty #1675
task: 01d36320 ti: 008be000 task.ti: 008be000

BTW, I'm testing it on a noMMU platform (arm7tdmi).

Regards,
Axel

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