diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2004-05-31 20:21:06 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2004-05-31 20:21:06 +0000 |
commit | b7d590579b7e73dabbff162d136dc742700d6d4e (patch) | |
tree | c8bed98ff33ba24dd36a8032b113150d383dab89 /sys | |
parent | 2e0618e0095c55d5b10a101b9bedcf0ba9d99a98 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/nfsserver/nfs_srvsubs.c | 4 |
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; |