git: dbbcc777de40 - main - rack: rack_do_compressed_ack_processing() can call tcp_drop()

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Sun, 26 Dec 2021 16:49:32 UTC
The branch main has been updated by glebius:

URL: https://cgit.FreeBSD.org/src/commit/?id=dbbcc777de40cb3e3e2919049b02e3f9782de078

commit dbbcc777de40cb3e3e2919049b02e3f9782de078
Author:     Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2021-12-26 16:48:15 +0000
Commit:     Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2021-12-26 16:48:15 +0000

    rack: rack_do_compressed_ack_processing() can call tcp_drop()
    
    Reviewed by:            rrs, tuexen
    Differential revision:  https://reviews.freebsd.org/D33369
---
 sys/netinet/tcp_stacks/rack.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 4aa98443f55e..cd198e11babe 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -14043,7 +14043,6 @@ rack_do_compressed_ack_processing(struct tcpcb *tp, struct socket *so, struct mb
 			if (ctf_progress_timeout_check(tp, true)) {
 				rack_log_progress_event((struct tcp_rack *)tp->t_fb_ptr,
 							tp, tick, PROGRESS_DROP, __LINE__);
-				tcp_set_inp_to_drop(tp->t_inpcb, ETIMEDOUT);
 				/*
 				 * We cheat here and don't send a RST, we should send one
 				 * when the pacer drops the connection.
@@ -14059,7 +14058,7 @@ rack_do_compressed_ack_processing(struct tcpcb *tp, struct socket *so, struct mb
 				}
 				sched_unpin();
 #endif
-				INP_WUNLOCK(rack->rc_inp);
+				(void)tcp_drop(tp, ETIMEDOUT);
 				m_freem(m);
 				return (1);
 			}