summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_syscalls.c
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2000-12-01 08:57:47 +0000
committeralfred <alfred@FreeBSD.org>2000-12-01 08:57:47 +0000
commite6bf60ac99dad1e2f847cb7f1557c06a651f4c9d (patch)
tree9e9a1edac03b7e0a202fb92d35ad8aba89087754 /sys/kern/kern_syscalls.c
parente1caf64702400ce84de06e726003bca5f0121595 (diff)
downloadFreeBSD-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.c9
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];
OpenPOWER on IntegriCloud