Date: Tue, 25 May 2021 17:51:49 GMT From: Andrew Gallatin <gallatin@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 086a35562f47 - main - tcp: enter network epoch when calling tfb_tcp_fb_fini Message-ID: <202105251751.14PHpnxk012722@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=086a35562f47917a516d30acc8b78a4884e31a4f commit 086a35562f47917a516d30acc8b78a4884e31a4f Author: Andrew Gallatin <gallatin@FreeBSD.org> AuthorDate: 2021-05-25 17:45:37 +0000 Commit: Andrew Gallatin <gallatin@FreeBSD.org> CommitDate: 2021-05-25 17:45:37 +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 --- 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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202105251751.14PHpnxk012722>