The branch stable/14 has been updated by rscheff: URL: https://cgit.FreeBSD.org/src/commit/?id=ac83f3fa44f3c64ddb4f817aa4c2032546a1ac92
commit ac83f3fa44f3c64ddb4f817aa4c2032546a1ac92 Author: Richard Scheffenegger <[email protected]> AuthorDate: 2023-12-18 12:01:28 +0000 Commit: Richard Scheffenegger <[email protected]> CommitDate: 2023-12-24 13:32:29 +0000 tcp: properly unroll SACK transmission on TX error with LRD PR: 275798 Reported by: [email protected] Reviewed by: tuexen, #transport MFC after: 1 week Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D43085 (cherry picked from commit e3b9058e5cd0f541da596624a366e14cabcf2e2a) --- sys/netinet/tcp_output.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index d83d4b8d65b1..8efea91e116f 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1654,7 +1654,7 @@ timer: ((flags & TH_SYN) == 0) && (error != EPERM)) { if (sack_rxmit) { - p->rxmit -= len; + p->rxmit = SEQ_MIN(p->end, p->rxmit) - len; tp->sackhint.sack_bytes_rexmit -= len; KASSERT(tp->sackhint.sack_bytes_rexmit >= 0, ("sackhint bytes rtx >= 0"));
