One more case where we want to drop the NFS server lock and acquire

Giant when entering VFS.  Discovered by code inspection; still not
hit without debug.mpsafenet=1.

Reported by:	bmilekic
This commit is contained in:
Robert Watson 2004-05-30 22:59:54 +00:00
parent 53f137e9d3
commit 73a4c21f28
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129886

View File

@ -225,8 +225,13 @@ nfsrv3_access(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED);
*tl = txdr_unsigned(nfsmode);
nfsmout:
if (vp)
if (vp) {
NFSD_UNLOCK();
mtx_lock(&Giant); /* VFS */
vput(vp);
mtx_unlock(&Giant); /* VFS */
NFSD_LOCK();
}
return(error);
}