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
This commit is contained in:
Randall Stewart 2019-03-26 10:41:27 +00:00
parent 107510b8a4
commit 7854c63d6f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345527

View File

@ -138,7 +138,8 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_auto_lowat, CTLFLAG_VNET | CTLFLAG_R
* 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"))