summaryrefslogtreecommitdiffstats
path: root/sys/nfsserver
diff options
context:
space:
mode:
authorbmilekic <bmilekic@FreeBSD.org>2004-05-31 20:21:06 +0000
committerbmilekic <bmilekic@FreeBSD.org>2004-05-31 20:21:06 +0000
commitb7d590579b7e73dabbff162d136dc742700d6d4e (patch)
treec8bed98ff33ba24dd36a8032b113150d383dab89 /sys/nfsserver
parent2e0618e0095c55d5b10a101b9bedcf0ba9d99a98 (diff)
downloadFreeBSD-src-b7d590579b7e73dabbff162d136dc742700d6d4e.zip
FreeBSD-src-b7d590579b7e73dabbff162d136dc742700d6d4e.tar.gz
Giant wasn't dropped here if we have to return EBUSY. This is bad.
Diffstat (limited to 'sys/nfsserver')
-rw-r--r--sys/nfsserver/nfs_srvsubs.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/nfsserver/nfs_srvsubs.c b/sys/nfsserver/nfs_srvsubs.c
index f8d9e4b..326c3c5 100644
--- a/sys/nfsserver/nfs_srvsubs.c
+++ b/sys/nfsserver/nfs_srvsubs.c
@@ -557,8 +557,10 @@ nfsrv_modevent(module_t mod, int type, void *data)
break;
case MOD_UNLOAD:
- if (nfsrv_numnfsd != 0)
+ if (nfsrv_numnfsd != 0) {
+ NET_UNLOCK_GIANT();
return EBUSY;
+ }
callout_stop(&nfsrv_callout);
sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
OpenPOWER on IntegriCloud