summaryrefslogtreecommitdiffstats
path: root/sys/sys/aio.h
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2001-12-29 07:13:47 +0000
committeralfred <alfred@FreeBSD.org>2001-12-29 07:13:47 +0000
commitf097734c278c9d8c5412bc8bdd71ac4cf940152b (patch)
tree5fea52eb8edad79619358670508ccdce9203dfdf /sys/sys/aio.h
parentf96a36771992bfbe155d46db18744d7c849d2518 (diff)
downloadFreeBSD-src-f097734c278c9d8c5412bc8bdd71ac4cf940152b.zip
FreeBSD-src-f097734c278c9d8c5412bc8bdd71ac4cf940152b.tar.gz
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.
Diffstat (limited to 'sys/sys/aio.h')
-rw-r--r--sys/sys/aio.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/sys/aio.h b/sys/sys/aio.h
index 7dc5f05..b0c56b2 100644
--- a/sys/sys/aio.h
+++ b/sys/sys/aio.h
@@ -153,8 +153,8 @@ struct aiocblist {
struct socket;
struct sockbuf;
-void aio_proc_rundown(struct proc *p);
-void aio_swake(struct socket *, struct sockbuf *);
+void aio_swake_cb(struct socket *, struct sockbuf *);
+extern void (*aio_swake)(struct socket *, struct sockbuf *);
#endif
OpenPOWER on IntegriCloud