From 21d56e9c33a19f2f97ddf9f009f325b349f8c39c Mon Sep 17 00:00:00 2001 From: Alfred Perlstein Date: Sat, 29 Dec 2001 07:13:47 +0000 Subject: 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. --- sys/modules/Makefile | 1 + sys/modules/aio/Makefile | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 sys/modules/aio/Makefile (limited to 'sys/modules') diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 3ab64c515d8b..1d558b335da9 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -9,6 +9,7 @@ SUBDIR= 3dfx \ accf_http \ agp \ aha \ + aio \ amr \ an \ aue \ diff --git a/sys/modules/aio/Makefile b/sys/modules/aio/Makefile new file mode 100644 index 000000000000..4136135d7350 --- /dev/null +++ b/sys/modules/aio/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../kern + +KMOD= aio +SRCS= vfs_aio.c opt_vfs_aio.h vnode_if.h + +.include -- cgit v1.3