Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jul 2021 20:34:40 GMT
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 1843b06deeb2 - stable/13 - tcp: enter network epoch when calling tfb_tcp_fb_fini
Message-ID:  <202107132034.16DKYeOh025771@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by tuexen:

URL: https://cgit.FreeBSD.org/src/commit/?id=1843b06deeb22ae5990d5a0308bebaad1bd27e98

commit 1843b06deeb22ae5990d5a0308bebaad1bd27e98
Author:     Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2021-05-25 17:45:37 +0000
Commit:     Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2021-07-13 19:54:43 +0000

    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
    
    (cherry picked from commit 086a35562f47917a516d30acc8b78a4884e31a4f)
---
 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 bd847426681e..cf62eeeb18d5 100644
--- a/sys/netinet/tcp_usrreq.c
+++ b/sys/netinet/tcp_usrreq.c
@@ -1825,11 +1825,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 */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107132034.16DKYeOh025771>