Re: 2.5.59 vmlinux.lds.S change broke modules

Mikael Pettersson (mikpe@csd.uu.se)
Fri, 17 Jan 2003 14:49:02 +0100


Brian Gerst writes:
> Mikael Pettersson wrote:
> > Previously today I wrote:
> > > 2.5.59 with CONFIG_PACKET=m oopes when af_packet.ko is insmodded:
> > >
> > > Unable to handle kernel paging request at virtual address 2220c021
> > > printing eip:
> > > c0124011
> > > *pde = 00000000
> > > Oops: 0000
> > > CPU: 0
> > > EIP: 0060:[<c0124011>] Not tainted
> > > EFLAGS: 00010097
> > > EIP is at __find_symbol+0x3d/0x7c
> > > eax: c020f70e ebx: 00000536 ecx: 00000000 edx: c028b600
> > > esi: 2220c021 edi: e8889558 ebp: e8889558 esp: e67c5ecc
> > > ds: 007b es: 007b ss: 0068
> > > Process insmod (pid: 482, threadinfo=e67c4000 task=e6c80ce0)
> > > Stack: e8888f34 e8889a40 00000038 e8883f50 c0124960 e8889558 e67c5ef4 00000001
> > > e8888f34 e8889374 e67c5f28 c0124b2a e8883f50 00000016 e8889374 e8889558
> > > e8889a40 e8883f50 0000000c 00000017 e8889a40 00000000 0000007c c01253a4
> > > Call Trace:
> > > [<c0124960>] resolve_symbol+0x20/0x4c
> > > [<c0124b2a>] simplify_symbols+0x82/0xe4
> > > [<c01253a4>] load_module+0x5c4/0x7ec
> > > [<c012562b>] sys_init_module+0x5f/0x194
> > > [<c0108887>] syscall_call+0x7/0xb
> >
> > This oops occurs for every module, not just af_packet.ko, at
> > resolve_symbol()'s first call to __find_symbol().
> >
> > What happens is that __find_symbol() oopses because the kernel's
> > symbol table is in la-la land. (Note the bogus kernel adress
> > 2220c021 it tried to dereference above.)
> >
> > Reverting 2.5.59's patch to arch/i386/vmlinux.lds.S cured the
> > problem and modules now load correctly for me.
> >
> > I don't know if this is a problem also for non-i386 archs.
> >
> > /Mikael
>
> What version of ld are you using?

2.13.90.0.2, as included in RH8.0.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/