freebsd-dev/sys/rpc
Rick Macklem 72263475c4 Fix two known problems in clnt_rc.c, plus issues w.r.t. smp noted
during reading of the code. Change the code so that it never accesses
rc_connecting, rc_closed or rc_client when the rc_lock mutex is not held.
Also, it now performs the CLNT_CLOSE(client) and CLNT_RELEASE(client)
calls after the rc_lock mutex has been released, since those calls do
msleep()s with another mutex held. Change clnt_reconnect_call() so that
releasing the reference count is delayed until after the
"if (rc->rc_client == client)" check, so that rc_client cannot have been
recycled.

Tested by:	pho
Reviewed by:	dfr
Approved by:	kib (mentor)
2009-06-25 00:28:43 +00:00
..
rpcsec_gss If the initial attempt to refresh credentials in the RPCSEC_GSS client 2009-06-24 18:30:14 +00:00
auth_none.c Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
auth_unix.c Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
auth.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
authunix_prot.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
clnt_dg.c Fix upcall races in the client side krpc. For the client side upcall, 2009-06-04 14:49:27 +00:00
clnt_rc.c Fix two known problems in clnt_rc.c, plus issues w.r.t. smp noted 2009-06-25 00:28:43 +00:00
clnt_stat.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
clnt_vc.c Fix upcall races in the client side krpc. For the client side upcall, 2009-06-04 14:49:27 +00:00
clnt.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
getnetconfig.c Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
inet_ntop.c Minor changes to improve compatibility with older FreeBSD releases. 2008-03-28 09:50:32 +00:00
inet_pton.c Minor changes to improve compatibility with older FreeBSD releases. 2008-03-28 09:50:32 +00:00
netconfig.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
nettype.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
pmap_prot.h Rename RPC's 'struct pmap' to 'struct portmap' to avoid confusing it with 2008-08-25 09:36:17 +00:00
replay.c Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
replay.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
rpc_callmsg.c Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
rpc_com.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
rpc_generic.c Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
rpc_msg.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
rpc_prot.c Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
rpc.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
rpcb_clnt.c It may be #if 0'd out code, but change a varname to not shadow a global. 2008-06-29 01:04:48 +00:00
rpcb_clnt.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
rpcb_prot.c Rename RPC's 'struct pmap' to 'struct portmap' to avoid confusing it with 2008-08-25 09:36:17 +00:00
rpcb_prot.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
rpcm_subs.h
rpcsec_gss.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
svc_auth_unix.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
svc_auth.c Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
svc_auth.h Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
svc_dg.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
svc_generic.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc_vc.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc.c Since svc_[dg|vc|tli|tp]_create() did not hold a reference count on the 2009-06-17 22:50:26 +00:00
svc.h Fix two races in the server side krpc w.r.t upcalls: 2009-06-04 14:13:06 +00:00
types.h Add the new kernel-mode NFS Lock Manager. To use it instead of the 2008-03-26 15:23:12 +00:00
xdr.h fix xdrmem_control to be safe in an if statement 2009-05-30 22:23:58 +00:00