From 086a35562f47917a516d30acc8b78a4884e31a4f Mon Sep 17 00:00:00 2001 From: Andrew Gallatin Date: Tue, 25 May 2021 13:45:37 -0400 Subject: [PATCH] tcp: enter network epoch when calling tfb_tcp_fb_fini We need to enter the network epoch when calling into tfb_tcp_fb_fini. I noticed this when I hit an assert running the latest rack Differential Revision: https://reviews.freebsd.org/D30407 Reviewed by: rrs, tuexen Sponsored by: Netflix --- sys/netinet/tcp_usrreq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 4f418f8809a7..caef798772ea 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1818,11 +1818,14 @@ tcp_ctloutput(struct socket *so, struct sockopt *sopt) * new one already. */ if (tp->t_fb->tfb_tcp_fb_fini) { + struct epoch_tracker et; /* * Tell the stack to cleanup with 0 i.e. * the tcb is not going away. */ + NET_EPOCH_ENTER(et); (*tp->t_fb->tfb_tcp_fb_fini)(tp, 0); + NET_EPOCH_EXIT(et); } #ifdef TCPHPTS /* Assure that we are not on any hpts */