git: 086a35562f47 - main - tcp: enter network epoch when calling tfb_tcp_fb_fini
Andrew Gallatin
gallatin at FreeBSD.org
Tue May 25 17:51:50 UTC 2021
The branch main has been updated by gallatin:
URL: https://cgit.FreeBSD.org/src/commit/?id=086a35562f47917a516d30acc8b78a4884e31a4f
commit 086a35562f47917a516d30acc8b78a4884e31a4f
Author: Andrew Gallatin <gallatin at FreeBSD.org>
AuthorDate: 2021-05-25 17:45:37 +0000
Commit: Andrew Gallatin <gallatin at 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 */
More information about the dev-commits-src-main
mailing list