insmod USR1 signal (was Re: [BusyBox] BusyBox 1.0.0-pre10 released)

Charlie Brady charlieb-busybox at e-smith.com
Tue Apr 20 14:42:39 UTC 2004


busybox, compiled for mipsel, with uClibc-0.9.19.

BusyBox v1.00-pre10 (2004.04.19-22:04+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

# cd /tmp
# tftp -g -r mymodule.o 192.168.1.2
# insmod mymodule.o 
Using mymodule.o
Warning: loading mymodule will taint the kernel: no license
  See http://www.tux.org/lkml/#export-tainted for information about 
tainted modules
User defined signal 1
# cat /proc/modules 
mymodule       37656 (uninitialized)
#

The same module loads into the same kernel fine with bb 1.00-pre5. And for 
a further data point, fails "insmod: QM_MODULES: Inappropriate ioctl for 
device" with 1.00-pre8.

Here's -pre8:

...
query_module(NULL, 0, NULL, 0)          = 0
query_module(NULL, QM_MODULES, ptrace: umoven: Input/output error
0x10008b00, 268471040, 268566976) = -1 EFAULT (Bad address)
write(2, "insmod", 6insmod)                   = 6
write(2, ": ", 2: )                       = 2
write(2, "QM_MODULES", 10QM_MODULES)              = 10
write(2, ": ", 2: )                       = 2
write(2, "Inappropriate ioctl for device", 30Inappropriate ioctl for 
device) = 30
write(2, "\n", 1
)                       = 1
exit(1)                                 = ?
...

And -pre10:

query_module(NULL, 0, NULL, 0)          = 0
query_module(NULL, QM_MODULES, { /* 0 entries */ }, 0) = 0
brk(0x10022000)                         = 0x10022000
query_module(NULL, QM_SYMBOLS, 0x1001e000, 16384, 26238) = -1 ENOSPC (No space left on device)
brk(0x10025000)                         = 0x10025000
query_module(NULL, QM_SYMBOLS, { /* 1119 entries */ }, 1119) = 0
brk(0x10026000)                         = 0x10026000
open("/proc/sys/kernel/tainted", O_RDWR) = 4
write(1, "Warning: loading linux-kernel-bd"..., 68Warning: loading 
mymodule will taint the kernel: no license) = 68
write(1, "  See http://www.tux.org/lkml/#e"..., 84  See 
http://www.tux.org/lkml/#export-tainted for information about taintes) = 84
read(4, "0\n", 79)                      = 2
write(4, "1\n", 2)                      = 2
close(4)                                = 0
getcwd("/tmp", 4094)                    = 5
readlink("/tmp/mymodule.o", 0x7fff2800, 4094) = -1 EINVAL (Invalid argument)
stat("/tmp/mymodule.o", {st_mode=S_IFREG|0644, st_size=71200, ...}) = 0
brk(0x10027000)                         = 0x10027000
create_module("mymodule", 37656) = 0xc0028000
_llseek(3, 52, [52], SEEK_SET)          = 0
read(3, "\376\17\377\260\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\177"..., 256) = 256
--- SIGBUS (User defined signal 1) ---
+++ killed by SIGBUS +++
# 

Let me know if I can help track down the problem in time for 1.00.

--
Charlie





More information about the busybox mailing list