1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-29 16:44:03 +00:00

The NFS server modevent code manually patches the system call table to

install nfssvc().  It also updates the argument count, but did so
without setting SYF_MPSAFE, effectively removing the MPSAFE flag even
when syscalls.master indicates it doesn't require Giant.  This change
forces the modevent to set MPSAFE as a flag to its internal notion of
an argument coutn.

Note: this duplication of information is a bad thing, but is a more
general problem I'm not currently willing to address.
This commit is contained in:
Robert Watson 2004-05-31 00:59:10 +00:00
parent a757985cec
commit 30bef9add8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129888

View File

@ -551,7 +551,7 @@ nfsrv_modevent(module_t mod, int type, void *data)
nfsrv_timer(0);
nfs_prev_nfssvc_sy_narg = sysent[SYS_nfssvc].sy_narg;
sysent[SYS_nfssvc].sy_narg = 2;
sysent[SYS_nfssvc].sy_narg = 2 | SYF_MPSAFE;
nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
break;