The branch main has been updated by tuexen:

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

commit 9bbd1a8fcb13928cd4b6cfddf0a8359d5dc97451
Author:     Michael Tuexen <tue...@freebsd.org>
AuthorDate: 2021-05-24 18:31:23 +0000
Commit:     Michael Tuexen <tue...@freebsd.org>
CommitDate: 2021-05-24 18:31:23 +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
---
 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 84e330efa74a..71970e180808 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 +
@@ -10482,6 +10482,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);
 }
 
_______________________________________________
dev-commits-src-main@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"

Reply via email to