Author: tuexen
Date: Sun Dec 25 17:37:18 2016
New Revision: 310547
URL: https://svnweb.freebsd.org/changeset/base/310547

Log:
  Remove a KASSERT which is not always true.
  
  In case of the empty queue tp->snd_holes and tcp_sackhole_insert()
  failing due to memory shortage, tp->snd_holes will be empty.
  This problem was hit when stress tests where performed by pho.
  
  PR:           215513
  Reported by:  pho
  Tested by:    pho
  Sponsored by: Netflix, Inc.

Modified:
  head/sys/netinet/tcp_sack.c

Modified: head/sys/netinet/tcp_sack.c
==============================================================================
--- head/sys/netinet/tcp_sack.c Sun Dec 25 17:01:58 2016        (r310546)
+++ head/sys/netinet/tcp_sack.c Sun Dec 25 17:37:18 2016        (r310547)
@@ -470,9 +470,6 @@ tcp_sack_doack(struct tcpcb *tp, struct 
                tp->snd_fack = sblkp->end;
                sack_changed = 1;
        }
-       /* We must have at least one SACK hole in scoreboard. */
-       KASSERT(!TAILQ_EMPTY(&tp->snd_holes),
-           ("SACK scoreboard must not be empty"));
        cur = TAILQ_LAST(&tp->snd_holes, sackhole_head); /* Last SACK hole. */
        /*
         * Since the incoming sack blocks are sorted, we can process them
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to