Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jun 2021 11:14:24 GMT
From:      Richard Scheffenegger <rscheff@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 71b88ee39fc6 - stable/13 - tcp: fix a RACK socket buffer lock issue
Message-ID:  <202106091114.159BEOTA047470@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by rscheff:

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

commit 71b88ee39fc6427b6353e9210710a947a27f383f
Author:     Michael Tuexen <tuexen@FreeBSD.org>
AuthorDate: 2021-05-24 18:31:23 +0000
Commit:     Richard Scheffenegger <rscheff@FreeBSD.org>
CommitDate: 2021-06-09 10:51:50 +0000

    tcp: fix a RACK socket buffer lock issue
    
    Fix a missing socket buffer unlocking of the socket receive buffer.
    
    Reviewed by:            gallatin, rrs
    MFC after:              1 week
    Sponsored by:           Netflix, Inc.
    Differential Revision:  https://reviews.freebsd.org/D30402
    
    (cherry picked from commit 9bbd1a8fcb13928cd4b6cfddf0a8359d5dc97451)
---
 sys/netinet/tcp_stacks/rack.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index bd17749bbd0e..f010c958951c 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -6063,7 +6063,7 @@ rack_clone_rsm(struct tcp_rack *rack, struct rack_sendmap *nrsm,
 	/* Push bit must go to the right edge as well */
 	if (rsm->r_flags & RACK_HAD_PUSH)
 		rsm->r_flags &= ~RACK_HAD_PUSH;
-	
+
 	/*
 	 * Now we need to find nrsm's new location in the mbuf chain
 	 * we basically calculate a new offset, which is soff +
@@ -10492,6 +10492,7 @@ rack_do_fastnewdata(struct mbuf *m, struct tcphdr *th, struct socket *so,
 	rack_handle_delayed_ack(tp, rack, tlen, 0);
 	if (tp->snd_una == tp->snd_max)
 		sack_filter_clear(&rack->r_ctl.rack_sf, tp->snd_una);
+	tcp_handle_wakeup(tp, so);
 	return (1);
 }
 



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