freebsd-dev/sys/fs/nfsserver
Konstantin Belousov aca4bb9112 Do not leak mount references for dying threads.
Thread might create a condition for delayed SU cleanup, which creates
a reference to the mount point in td_su, but exit without returning
through userret(), e.g. when terminating due to single-threading or
process exit.  In this case, td_su reference is not dropped and mount
point cannot be freed.

Handle the situation by clearing td_su also in the thread destructor
and in exit1().  softdep_ast_cleanup() has to receive the thread as
argument, since e.g. thread destructor is executed in different
context.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2017-02-25 10:38:18 +00:00
..
nfs_fha_new.c Fix RPC server threads file handle affinity to work better with ZFS. 2013-12-23 08:43:16 +00:00
nfs_fha_new.h
nfs_nfsdcache.c Update the nfsstats structure to include the changes needed by 2016-08-12 22:44:59 +00:00
nfs_nfsdkrpc.c Do not leak mount references for dying threads. 2017-02-25 10:38:18 +00:00
nfs_nfsdport.c Workaround NFS bug with readdirplus when there are greater than 1 billion files in a filesystem. 2017-01-02 19:18:56 +00:00
nfs_nfsdserv.c Do not allocate struct statfs on kernel stack. 2017-01-05 17:19:26 +00:00
nfs_nfsdsocket.c Update the nfsstats structure to include the changes needed by 2016-08-12 22:44:59 +00:00
nfs_nfsdstate.c Revert crap accidentally committed 2017-01-28 16:31:23 +00:00
nfs_nfsdsubs.c Allow the NFSv4 server to reply NFSERR_WRONGSEC for the SetClientID operation. 2016-04-23 21:18:45 +00:00