Author: rrs
Date: Wed Aug 21 10:45:28 2019
New Revision: 351328
URL: https://svnweb.freebsd.org/changeset/base/351328

Log:
  Fix an issue when TSO and Rack play together. Basically
  an retransmission of the initial SYN (with data) would
  cause us to strip the SYN and decrement/increase offset/len
  which then caused us a -1 offset and a panic.
  
  Reported by:  Larry Rosenman
  (Michael Tuexen helped me debug this at the IETF)

Modified:
  head/sys/netinet/tcp_stacks/rack.c

Modified: head/sys/netinet/tcp_stacks/rack.c
==============================================================================
--- head/sys/netinet/tcp_stacks/rack.c  Wed Aug 21 10:42:31 2019        
(r351327)
+++ head/sys/netinet/tcp_stacks/rack.c  Wed Aug 21 10:45:28 2019        
(r351328)
@@ -7405,9 +7405,6 @@ again:
                    (tp->t_state == TCPS_SYN_RECEIVED))
                        flags &= ~TH_SYN;
 #endif
-               sb_offset--, len++;
-               if (sbavail(sb) == 0)
-                       len = 0;
        }
        /*
         * Be careful not to send data and/or FIN on SYN segments. This
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to