Re: -git: BUG: unable to handle kernel paging request at c0100248 [CPU hotplug]

From: Vegard Nossum
Date: Sun Jul 27 2008 - 06:08:12 EST


On Sun, Jul 27, 2008 at 11:55 AM, Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote:
> Hi,
>
> Something broke CPU-hotplug _again_, here with a freshly built latest -git:
>
> BUG: unable to handle kernel paging request at c0100248

[snip]

> c067c3db: c7 05 48 02 10 c0 f0 movl $0xc067c9f0,0xc0100248
> c067c3e2: c9 67 c0
>
> $ addr2line -e vmlinux -i c067c3db
> arch/x86/kernel/smpboot.c:859
> arch/x86/kernel/smpboot.c:993
>
> Hm... that doesn't really make sense, does it? It's this line:
>
> initial_code = (unsigned long)start_secondary;
>
> ..but I don't see where the memory dereference comes from.

"initial_code" (0xc0100248) is in a .text section:

Idx Name Size VMA LMA File off Algn
0 .text.head 000003a1 c0100000 00100000 00001000 2**2
1 .text 00583b8d c01003b0 001003b0 000013b0 2**4

And I have CONFIG_DEBUG_RODATA=y. Maybe this was introduced in

commit e3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b
Author: Glauber Costa <gcosta@xxxxxxxxxx>
Date: Wed May 28 12:57:02 2008 -0300

x86: use initial_code for i386

x86_64 jumps to whatever is written in "initial_code" symbol,
instead of a fixed address. Do it for i386 too. It will allow us
to integrate more of the smp boot code.

Signed-off-by: Glauber Costa <gcosta@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

?


Vegard

--
"The animistic metaphor of the bug that maliciously sneaked in while
the programmer was not looking is intellectually dishonest as it
disguises that the error is the programmer's own creation."
-- E. W. Dijkstra, EWD1036
--
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/