1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-19 02:29:40 +00:00
freebsd/sys/rpc
Rick Macklem f8575d4e47 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 4ba444de70)
2024-05-01 18:19:09 -07:00
..
rpcsec_gss sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpcsec_tls sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
auth_none.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
auth_unix.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
auth.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
authunix_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
clnt_bck.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
clnt_dg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
clnt_rc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
clnt_stat.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:22 -06:00
clnt_vc.c krpc: Ref cnt the client structures for TLS upcalls 2024-05-01 18:19:09 -07:00
clnt.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
getnetconfig.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
krpc.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:20 -06:00
netconfig.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:22 -06:00
nettype.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:22 -06:00
pmap_prot.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
replay.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
replay.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:20 -06:00
rpc_callmsg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpc_com.h libc/libc/rpc: refactor some global variables 2023-11-30 13:42:55 -07:00
rpc_generic.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpc_msg.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
rpc_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpc.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
rpcb_clnt.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpcb_clnt.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:22 -06:00
rpcb_prot.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
rpcb_prot.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:20 -06:00
rpcm_subs.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:22 -06:00
rpcsec_gss.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:20 -06:00
rpcsec_tls.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:20 -06:00
svc_auth_unix.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc_auth.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc_auth.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
svc_dg.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc_generic.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc_vc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:25 -06:00
svc.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
types.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00
xdr.h sys: Remove $FreeBSD$: one-line .h pattern 2023-08-23 11:43:22 -06:00