[BusyBox] insmod on old kernels
Julien Gaulmin
julien.gaulmin at fr.alcove.com
Tue Feb 27 16:53:24 UTC 2001
On Mon, Feb 26, 2001 at 10:02:19AM -0700, Erik Andersen wrote :
> Thats ok. As long as I know the origin... Anyways, yes I'd love
> to get some more input on this one.
OK, I've looked for the problem and it seems to come from strcmp() in
bsearch() from find_applet_by_name().
I can't find what appens but it seems that we do a bad bad think in the
kernel. strcmp() works fine when I test it appart. May be I should look
for stack starvation or something like that as there is a lot more
function calls that it used to be in O.48 (the one which works here).
julien
Log:
> ./lsmod
Loaded flat file, BSS=36139c, DATA=360018, TEXT=320018
find_applet_by_name(lsmod)
NUM_APPLETS = 4
Entering bsearch()
Entering applet_name_compare()
Internal error: Oops - undefined instruction: 1
CPU: 0
pc : [<0000e9c4>]
lr : [<0000a0ec>]
sp : 00365fb8 ip : 00000001 fp : 00000000
r10: 00360d34 r9 : 00356a28 r8 : 0000000c
r7 : 00000000 r6 : 00000003 r5 : 0032afd2 r4 : e5951000
r3 : 00365ff4 r2 : 00000002 r1 : 05000000 r0 : 00323cec
Flags: nZcv IRQs on FIQs on Mode SVC_32
Process lsmod (pid: 27, stackpage=00365000)
Stack: 00365fb8 invalid kernel stack pointer
Code: e2022002 ee160f10 ee151f10 e201100f e1a0f00e
pid 27: killed (signal 4)
>
Kernel code:
0000e9bc <Ldata_simple>:
e9bc: e2022002 and r2, r2, #2 ; 0x2
e9c0: ee160f10 mrc 15, 0, r0, cr6, cr0, {0}
e9c4: ee151f10 mrc 15, 0, r1, cr5, cr0, {0}
e9c8: e201100f and r1, r1, #15 ; 0xf
e9cc: e1a0f00e mov pc, lr
julien
--
Julien Gaulmin - Open Source Software Engineer
Alcove, liberating software... http://www.alcove.com
More information about the busybox
mailing list