Date: Sun, 15 Feb 2004 21:54:35 +0800 From: "Jun Su" <junsu@delphij.net> To: <current@freebsd.org> Subject: syscall module unload problem Message-ID: <008201c3f3cb$41c8dfa0$25dea1d3@shasujunmv>
next in thread | raw e-mail | index | archive | help
Hi All,
We use SYSCALL_MODULE to declare a syscall. It results that we have multi
modules in one kmod file. For example, aio.ko has 10 modules. When I run
kldunload aio, the syscall modules will successfully unloaded. However the
aio module can not be unload. Then the aio subsystem enters into an strange
state. We can not use aio syscall anymore since the syscall modules are
unloaded. And we also can not load the module again since the aio module is
still there. The modules that use SYSCALL_MODULE_HELPER have the similar
problem.
Is this by design? Or this needs some improvement. I want to do some
research about this.
Thanks,
-jun
Repro Steps:
#kldload aio
#kldstat -v -n aio
3 1 0xc1925000 7000 aio.ko
Contains modules:
Id Name
93 aio_return
94 aio_suspend
95 aio_cancel
96 aio_error
97 aio_read
98 aio_write
99 aio_waitcomplete
100 lio_listio
101 aio
#kldunload aio
kldunload: can't unload file: Operation not supported
#./aiotest
Bad System Call
#kldstat -v -n aio
Id Refs Address Size Name
3 1 0xc1925000 7000 aio.ko
Contains modules:
Id Name
101 aio
#kldload aio
kldload: can't load aio: File exists
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?008201c3f3cb$41c8dfa0$25dea1d3>
