Subject: LKMs not working...
To: None <netbsd-help@NetBSD.ORG>
From: Donald J. Maddox <root@rhiannon>
List: netbsd-help
Date: 02/27/1996 00:38:48
I haven't tried to use any LKMs in quite a while (since before the
1.1 upgrade), but I decided to play around the Amiga audio LKM yesterday,
and, in the process, discovered that LKMs simply don't work on my machine
anymore, and I cannot figure out what the problem is... Any attempt to
load an LKM with modload fails with 'operation not permitted'.
This doesn't just apply to the audio LKM hack... I also tried the
example LKMs in /usr/share/lkm with the same results. I completely
reinstalled the 1.1 distribution, booted the 1.1 install kernel, and
STILL got the same results. What am I doing wrong?
BTW... options LKM *is* defined in my kernel (and in the INSTALL kernel, I
believe).
rhiannon# ls -l /dev/lkm
crw-r----- 1 root kmem 24, 0 Feb 26 20:45 /dev/lkm
rhiannon# ls -l /sbin/modload
-r-xr-xr-x 1 bin bin 40960 Nov 24 14:52 /sbin/modload
rhiannon# ktrace -d modload -o lkm_audio -e lkm_audio audio.o
modload: can't reserve memory: Operation not permitted
rhiannon# kdump | more
288 ktrace RET ktrace 0
288 ktrace CALL __sysctl(0xdfff3bc,0x2,0xb116,0xdfff3c4,0,0)
288 ktrace RET __sysctl 4
288 ktrace CALL break(0xb150)
288 ktrace RET break 0
288 ktrace CALL break(0xbffc)
288 ktrace RET break 0
288 ktrace CALL break(0xdffc)
288 ktrace RET break 0
288 ktrace CALL execve(0xdfff434,0xdfff89c,0xdfff8b8)
288 ktrace NAMI "/sbin/modload"
288 modload EMUL "netbsd"
288 modload RET execve 0
288 modload CALL open(0x226f,0x2,0)
288 modload NAMI "/dev/lkm"
288 modload RET open 3
288 modload CALL sigprocmask(0x1,0x80000)
288 modload RET sigprocmask 0
288 modload CALL vfork
288 modload RET vfork 289/0x121
288 modload CALL sigaction(0x2,0xdfff104,0xdfff0f8)
288 modload RET sigaction 0
288 modload CALL sigaction(0x3,0xdfff0fc,0xdfff0f0)
288 modload RET sigaction 0
288 modload CALL wait4(0x121,0xdfff134,0,0)
288 modload RET wait4 289/0x121
288 modload CALL sigprocmask(0x3,0)
288 modload RET sigprocmask 524288/0x80000
288 modload CALL sigaction(0x2,0xdfff104,0xdfff0f8)
288 modload RET sigaction 0
288 modload CALL sigaction(0x3,0xdfff0fc,0xdfff0f0)
288 modload RET sigaction 0
288 modload CALL open(0xdfff947,0,0)
288 modload NAMI "lkm_audio"
288 modload RET open 4
288 modload CALL read(0x4,0xdfff80c,0x20)
288 modload GIO fd 4 read 32 bytes
"\0\M^G\^A\v\0\0 \0\0\0 \0\0\0\0\0\0\0\M-#\M-$\0\0\^N\M-r\0\0\0\0\0\0\0\
\0"
288 modload RET read 32/0x20
288 modload CALL close(0x4)
288 modload RET close 0
288 modload CALL ioctl(0x3,0xc0104b00 ,0xb14c)
288 modload RET ioctl -1 errno 1 Operation not permitted
288 modload CALL write(0x2,0xdffee98,0x9)
288 modload GIO fd 2 wrote 9 bytes
"modload: "
288 modload RET write 9
288 modload CALL write(0x2,0xdffeeac,0x14)
288 modload GIO fd 2 wrote 20 bytes
"can't reserve memory"
288 modload RET write 20/0x14
288 modload CALL write(0x2,0xdffee90,0x2)
288 modload GIO fd 2 wrote 2 bytes
.
.
.
<Rest deleted for the sake of brevity>