freebsd-src/sys/rpc
Rick Macklem 4ba444de70 krpc: Ref cnt the client structures for TLS upcalls
A crash occurred during testing, where the client structures had
already been free'd when the upcall thread tried to lock them.

This patch acquires a reference count on both of the structures
and these are released when the upcall is done, so that the
structures cannot be free'd prematurely.  This happened because
the testing is done over a very slow vpn.

Found during a IETF bakeathon testing event this week.

MFC after:	5 days
2024-04-26 17:55:24 -07:00
..
rpcsec_gss sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
rpcsec_tls krpc: Display stats of TLS usage 2023-11-02 14:07:01 -07:00
auth.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
auth_none.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
auth_unix.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
authunix_prot.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
clnt.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
clnt_bck.c rpc: use new macros to lock socket buffers 2024-04-09 09:17:19 -07:00
clnt_dg.c rpc: use new macros to lock socket buffers 2024-04-09 09:17:19 -07:00
clnt_rc.c NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-03-20 15:29:51 -07:00
clnt_stat.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
clnt_vc.c krpc: Ref cnt the client structures for TLS upcalls 2024-04-26 17:55:24 -07:00
getnetconfig.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
krpc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netconfig.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
nettype.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
pmap_prot.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
replay.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
replay.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rpc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpc_callmsg.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpc_com.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpc_generic.c sockets: don't malloc/free sockaddr memory on getpeername/getsockname 2023-11-30 08:31:10 -08:00
rpc_msg.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpc_prot.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcb_clnt.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcb_clnt.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcb_prot.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcb_prot.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcm_subs.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rpcsec_gss.h nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers 2023-10-23 13:21:14 -07:00
rpcsec_tls.h krpc: Display stats of TLS usage 2023-11-02 14:07:01 -07:00
svc.c NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-03-20 15:29:51 -07:00
svc.h NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-03-20 15:29:51 -07:00
svc_auth.c sccs: Manual changes 2023-11-26 22:23:58 -07:00
svc_auth.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
svc_auth_unix.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
svc_dg.c rpc: use new macros to lock socket buffers 2024-04-09 09:17:19 -07:00
svc_generic.c sccs: Manual changes 2023-11-26 22:23:58 -07:00
svc_vc.c rpc: use new macros to lock socket buffers 2024-04-09 09:17:19 -07:00
types.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
xdr.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00