summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2018-02-08 20:09:42 +0000
committerBrooks Davis <brooks@FreeBSD.org>2018-02-08 20:09:42 +0000
commitde55bbfc5be3d8b29d98a86916627693adf2d7c1 (patch)
treeadf2da21bff59c76ad7274b32b4ba70e843d8230
parent56b4f63142b22ba3904807353fadf532b32e4c21 (diff)
downloadsrc-test2-de55bbfc5be3d8b29d98a86916627693adf2d7c1.tar.gz
src-test2-de55bbfc5be3d8b29d98a86916627693adf2d7c1.zip
Notes
-rw-r--r--sys/nfs/nfs_nfssvc.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/sys/nfs/nfs_nfssvc.c b/sys/nfs/nfs_nfssvc.c
index c5c2e7dd0dbd..8f3ef1410692 100644
--- a/sys/nfs/nfs_nfssvc.c
+++ b/sys/nfs/nfs_nfssvc.c
@@ -56,9 +56,10 @@ __FBSDID("$FreeBSD$");
#include <nfs/nfssvc.h>
-static int nfssvc_offset = SYS_nfssvc;
-static struct sysent nfssvc_prev_sysent;
-MAKE_SYSENT(nfssvc);
+static struct syscall_helper_data nfssvc_syscalls[] = {
+ SYSCALL_INIT_HELPER(nfssvc),
+ SYSCALL_INIT_LAST
+};
/*
* This tiny module simply handles the nfssvc() system call. The other
@@ -119,16 +120,12 @@ sys_nfssvc(struct thread *td, struct nfssvc_args *uap)
static int
nfssvc_modevent(module_t mod, int type, void *data)
{
- static int registered;
int error = 0;
switch (type) {
case MOD_LOAD:
- error = syscall_register(&nfssvc_offset, &nfssvc_sysent,
- &nfssvc_prev_sysent, SY_THR_STATIC_KLD);
- if (error)
- break;
- registered = 1;
+ error = syscall_helper_register(nfssvc_syscalls,
+ SY_THR_STATIC_KLD);
break;
case MOD_UNLOAD:
@@ -137,9 +134,7 @@ nfssvc_modevent(module_t mod, int type, void *data)
error = EBUSY;
break;
}
- if (registered)
- syscall_deregister(&nfssvc_offset, &nfssvc_prev_sysent);
- registered = 0;
+ syscall_helper_unregister(nfssvc_syscalls);
break;
default:
error = EOPNOTSUPP;