Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2019 10:41:27 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r345527 - head/sys/netinet
Message-ID:  <201903261041.x2QAfRdY036002@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rrs
Date: Tue Mar 26 10:41:27 2019
New Revision: 345527
URL: https://svnweb.freebsd.org/changeset/base/345527

Log:
  Fix a small bug in the tcp_log_id where the bucket
  was unlocked and yet the bucket-unlock flag was not
  changed to false. This can cause a panic if INVARIANTS
  is on and we go through the right path (though rare).
  
  Reported by:	syzbot+179a1ad49f3c4c215fa2@syzkaller.appspotmail.com
  Reviewed by:	tuexen@
  MFC after:	1 week

Modified:
  head/sys/netinet/tcp_output.c

Modified: head/sys/netinet/tcp_output.c
==============================================================================
--- head/sys/netinet/tcp_output.c	Tue Mar 26 09:46:17 2019	(r345526)
+++ head/sys/netinet/tcp_output.c	Tue Mar 26 10:41:27 2019	(r345527)
@@ -138,7 +138,8 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_auto_lowat
  * non-ACK.
  */
 #define TCP_XMIT_TIMER_ASSERT(tp, len, th_flags)			\
-	KASSERT(((len) == 0 && ((th_flags) & (TH_SYN | TH_FIN)) == 0) ||\
+	KASSERT(((len) == 0 && ((th_flags) &				\
+				(TH_SYN | TH_FIN | TH_RST)) != 0) ||	\
 	    tcp_timer_active((tp), TT_REXMT) ||				\
 	    tcp_timer_active((tp), TT_PERSIST),				\
 	    ("neither rexmt nor persist timer is set"))



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