[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