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:
parent
a757985cec
commit
30bef9add8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129888
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user