diff options
author | alfred <alfred@FreeBSD.org> | 2000-12-01 08:57:47 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2000-12-01 08:57:47 +0000 |
commit | e6bf60ac99dad1e2f847cb7f1557c06a651f4c9d (patch) | |
tree | 9e9a1edac03b7e0a202fb92d35ad8aba89087754 /sys/kern/kern_syscalls.c | |
parent | e1caf64702400ce84de06e726003bca5f0121595 (diff) | |
download | FreeBSD-src-e6bf60ac99dad1e2f847cb7f1557c06a651f4c9d.zip FreeBSD-src-e6bf60ac99dad1e2f847cb7f1557c06a651f4c9d.tar.gz |
sysvipc loadable.
new syscall entry lkmressys - "reserved loadable syscall"
Make syscall_register allow overwriting of such entries (lkmressys).
Diffstat (limited to 'sys/kern/kern_syscalls.c')
-rw-r--r-- | sys/kern/kern_syscalls.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/kern/kern_syscalls.c b/sys/kern/kern_syscalls.c index 72b01c8..633406a 100644 --- a/sys/kern/kern_syscalls.c +++ b/sys/kern/kern_syscalls.c @@ -45,6 +45,12 @@ lkmnosys(struct proc *p, struct nosys_args *args) } int +lkmressys(struct proc *p, struct nosys_args *args) +{ + return(nosys(p, args)); +} + +int syscall_register(int *offset, struct sysent *new_sysent, struct sysent *old_sysent) { @@ -59,7 +65,8 @@ syscall_register(int *offset, struct sysent *new_sysent, *offset = i; } else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) return EINVAL; - else if (sysent[*offset].sy_call != (sy_call_t *)lkmnosys) + else if (sysent[*offset].sy_call != (sy_call_t *)lkmnosys && + sysent[*offset].sy_call != (sy_call_t *)lkmressys) return EEXIST; *old_sysent = sysent[*offset]; |