]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Make AIO a loadable module.
authoralfred <alfred@FreeBSD.org>
Sat, 29 Dec 2001 07:13:47 +0000 (07:13 +0000)
committeralfred <alfred@FreeBSD.org>
Sat, 29 Dec 2001 07:13:47 +0000 (07:13 +0000)
commitf097734c278c9d8c5412bc8bdd71ac4cf940152b
tree5fea52eb8edad79619358670508ccdce9203dfdf
parentf96a36771992bfbe155d46db18744d7c849d2518
Make AIO a loadable module.

Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO
will use at_exit(9).

Add functions at_exec(9), rm_at_exec(9) which function nearly the
same as at_exec(9) and rm_at_exec(9), these functions are called
on behalf of modules at the time of execve(2) after the image
activator has run.

Use a modified version of tegge's suggestion via at_exec(9) to close
an exploitable race in AIO.

Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral,
the problem was that one had to pass it a paramater indicating the
number of arguments which were actually the number of "int".  Fix
it by using an inline version of the AS macro against the syscall
arguments.  (AS should be available globally but we'll get to that
later.)

Add a primative system for dynamically adding kqueue ops, it's really
not as sophisticated as it should be, but I'll discuss with jlemon when
he's around.
18 files changed:
sys/conf/files
sys/kern/init_sysent.c
sys/kern/kern_event.c
sys/kern/kern_exec.c
sys/kern/kern_exit.c
sys/kern/syscalls.master
sys/kern/sysv_msg.c
sys/kern/sysv_sem.c
sys/kern/sysv_shm.c
sys/kern/uipc_sockbuf.c
sys/kern/uipc_socket2.c
sys/kern/vfs_aio.c
sys/modules/Makefile
sys/modules/aio/Makefile [new file with mode: 0644]
sys/sys/aio.h
sys/sys/event.h
sys/sys/sysent.h
sys/sys/systm.h