opnsense-src/sys/rpc
Rick Macklem f6b902a411 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.

(cherry picked from commit 4ba444de708bada46a88ecac17b2f6c1dc912234)
2024-05-01 18:09:52 -07:00
..
rpcsec_gss krpc: Display stats of TLS usage 2023-12-24 15:02:15 -08:00
rpcsec_tls krpc: Display stats of TLS usage 2023-12-24 15:02:15 -08:00
auth.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
auth_none.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
auth_unix.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
authunix_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
clnt.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
clnt_bck.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
clnt_dg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
clnt_rc.c NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-04-12 12:25:27 -07:00
clnt_stat.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
clnt_vc.c krpc: Ref cnt the client structures for TLS upcalls 2024-05-01 18:09:52 -07:00
getnetconfig.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06: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 $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
replay.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
replay.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rpc.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
rpc_callmsg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rpc_com.h libc/libc/rpc: refactor some global variables 2023-11-29 20:16:16 -07:00
rpc_generic.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rpc_msg.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
rpc_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rpcb_clnt.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rpcb_clnt.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
rpcb_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rpcb_prot.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
rpcm_subs.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
rpcsec_gss.h nfscl/kgssapi: Fix Kerberized NFS mounts to pNFS servers 2023-12-23 17:03:58 -08:00
rpcsec_tls.h krpc: Display stats of TLS usage 2023-12-24 15:02:15 -08:00
svc.c NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-04-12 12:25:27 -07:00
svc.h NFS: Request use of TCP_USE_DDP for in-kernel TCP sockets 2024-04-12 12:25:27 -07:00
svc_auth.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
svc_auth.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
svc_auth_unix.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
svc_dg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
svc_generic.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
svc_vc.c krpc: Display stats of TLS usage 2023-12-24 15:02:15 -08:00
types.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00
xdr.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:18 -06:00