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
This commit is contained in:
Andrew Gallatin 2021-05-25 13:45:37 -04:00
parent 13c0e198ca
commit 086a35562f

View File

@ -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 */