freebsd-dev/sys/rpc
Rick Macklem 1b09d9df3d Fix the server side krpc so that the kernel nfsd threads terminate.
Occationally the kernel nfsd threads would not terminate when a SIGKILL
was posted for the kernel process (called nfsd (slave)). When this occurred,
the thread associated with the process (called "ismaster") had returned from
svc_run_internal() and was sleeping waiting for the other threads to terminate.
The other threads (created by kthread_start()) were still in svc_run_internal()
handling NFS RPCs.
The only way this could occur is for the "ismaster" thread to return from
svc_run_internal() without having called svc_exit().
There was only one place in the code where this could happen and this patch
stops that from happening.
Since the problem is intermittent, I cannot be sure if this has fixed the
problem, but I have not seen an occurrence of the problem with this patch
applied.

Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D16087
2018-07-02 17:50:46 +00:00
..
rpcsec_gss sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
auth_none.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
auth_unix.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
auth.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
authunix_prot.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
clnt_bck.c
clnt_dg.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
clnt_rc.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
clnt_stat.h
clnt_vc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
clnt.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
getnetconfig.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
krpc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
netconfig.h
nettype.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pmap_prot.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
replay.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
replay.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
rpc_callmsg.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpc_com.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpc_generic.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpc_msg.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpc_prot.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcb_clnt.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcb_clnt.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcb_prot.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcb_prot.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcm_subs.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rpcsec_gss.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
svc_auth_unix.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc_auth.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc_auth.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc_dg.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc_generic.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc_vc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
svc.c Fix the server side krpc so that the kernel nfsd threads terminate. 2018-07-02 17:50:46 +00:00
svc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
types.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
xdr.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00