git: ef396441ceb8 - main - tcp_usr_detach: revert debugging piece from f5cf1e5f5a500.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 13 Nov 2021 16:34:29 UTC
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=ef396441ceb8bce4e5d7382ff7c76928721297a3 commit ef396441ceb8bce4e5d7382ff7c76928721297a3 Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2021-11-10 19:35:50 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2021-11-13 16:33:32 +0000 tcp_usr_detach: revert debugging piece from f5cf1e5f5a500. The code was probably useful during the problem being chased down, but for brevity makes sense just to return to the original KASSERT. Reviewed by: rrs Differential revision: https://reviews.freebsd.org/D32968 --- sys/netinet/tcp_usrreq.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 968e102248d7..198852cc8fac 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -66,7 +66,6 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/proc.h> #include <sys/jail.h> -#include <sys/syslog.h> #include <sys/stats.h> #ifdef DDB @@ -262,26 +261,10 @@ tcp_usr_detach(struct socket *so) * In all three cases the tcptw should not be freed here. */ if (inp->inp_flags & INP_DROPPED) { + KASSERT(tp == NULL, ("tcp_detach: INP_TIMEWAIT && " + "INP_DROPPED && tp != NULL")); in_pcbdetach(inp); - if (__predict_true(tp == NULL)) { - in_pcbfree(inp); - } else { - /* - * This case should not happen as in TIMEWAIT - * state the inp should not be destroyed before - * its tcptw. If INVARIANTS is defined, panic. - */ -#ifdef INVARIANTS - panic("%s: Panic before an inp double-free: " - "INP_TIMEWAIT && INP_DROPPED && tp != NULL" - , __func__); -#else - log(LOG_ERR, "%s: Avoid an inp double-free: " - "INP_TIMEWAIT && INP_DROPPED && tp != NULL" - , __func__); -#endif - INP_WUNLOCK(inp); - } + in_pcbfree(inp); } else { in_pcbdetach(inp); INP_WUNLOCK(inp);