615c2e4e8d
Fix some of the races (but probably not all of them) in the NFS server code. nfssvc_nfsd(): change a splsoftclock()/spx() to mutex_enter/exit(&nfsd_lock) (I guess it was forgotten when the nfsd code was made SMP safe) m_freem(nd_nam) in nfsrv_slpderef() instead of nfsrv_zapsock() to avoid possible use after free in nfssvc_nfsd() Fix nfsrv_slpderef() to not release nfsd_lock before testing SLP_VALID and reaquiring it just after. This could cause a use after free of the slp if one thread is in nfsrv_slpderef() and the other one grabs slp from nfssvc_sockpending and zap it. |
||
---|---|---|
.. | ||
files.nfs | ||
krpc_subr.c | ||
krpc.h | ||
Makefile | ||
nfs_bio.c | ||
nfs_boot.c | ||
nfs_bootdhcp.c | ||
nfs_bootparam.c | ||
nfs_bootstatic.c | ||
nfs_export.c | ||
nfs_iod.c | ||
nfs_kq.c | ||
nfs_node.c | ||
nfs_serv.c | ||
nfs_socket.c | ||
nfs_srvcache.c | ||
nfs_srvsocket.c | ||
nfs_srvsubs.c | ||
nfs_subs.c | ||
nfs_syscalls.c | ||
nfs_var.h | ||
nfs_vfsops.c | ||
nfs_vnops.c | ||
nfs.h | ||
nfsdiskless.h | ||
nfsm_subs.h | ||
nfsmount.h | ||
nfsnode.h | ||
nfsproto.h | ||
nfsrtt.h | ||
nfsrvcache.h | ||
rpcv2.h | ||
xdr_subs.h |