Messages in this thread | | | Date | Sun, 27 Jul 2008 12:07:54 +0200 | From | "Vegard Nossum" <> | Subject | Re: -git: BUG: unable to handle kernel paging request at c0100248 [CPU hotplug] |
| |
On Sun, Jul 27, 2008 at 11:55 AM, Vegard Nossum <vegard.nossum@gmail.com> 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@redhat.com> 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@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
?
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
| |