freebsd-skq/sys/fs/nfs
Rick Macklem a0962bf8bc When the nfsd threads are terminated, the NFSv4 server state
(opens, locks, etc) is retained, which I believe is correct behaviour.
However, for NFSv4.1, the server also retained a reference to the xprt
(RPC transport socket structure) for the backchannel. This caused
svcpool_destroy() to not call SVC_DESTROY() for the xprt and allowed
a socket upcall to occur after the mutexes in the svcpool were destroyed,
causing a crash.
This patch fixes the code so that the backchannel xprt structure is
dereferenced just before svcpool_destroy() is called, so the code
does do an SVC_DESTROY() on the xprt, which shuts down the socket upcall.

Tested by:	g_amanakis@yahoo.com
PR:		204340
MFC after:	2 weeks
2015-11-21 23:55:46 +00:00
..
nfs_commonacl.c Fix an NFS server bug that manifested in "ls -al" displaying a plus 2015-08-28 14:26:11 +00:00
nfs_commonkrpc.c Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfs_commonport.c CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
nfs_commonsubs.c Adjust the test of a KASSERT to better match the intent. 2014-12-19 19:09:22 +00:00
nfs_var.h When the nfsd threads are terminated, the NFSv4 server state 2015-11-21 23:55:46 +00:00
nfs.h Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfscl.h Move the NFSv4.1 client patches over from projects/nfsv4.1-client 2012-12-08 22:52:39 +00:00
nfsclstate.h Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
nfsdport.h Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfskpiport.h
nfsm_subs.h Use M_SIZE() instead of hand-crafted (and mostly correct) NFSMSIZ() macro 2015-01-07 17:22:56 +00:00
nfsport.h MAXBSIZE defines both the largest UFS block size and the 2015-04-25 00:52:01 +00:00
nfsproto.h mav@ has found that NFS servers exporting ZFS file systems 2015-04-16 22:35:15 +00:00
nfsrvcache.h Do not generate 1000 unique lock names for nfsrc hash chain locks. 2014-07-31 19:24:44 +00:00
nfsrvstate.h Make the size of the hash tables used by the NFSv4 server tunable. 2015-05-27 22:00:05 +00:00
nfsv4_errstr.h
rpcv2.h
xdr_subs.h