svn commit: r310547 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sun Dec 25 17:37:19 UTC 2016


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


More information about the svn-src-all mailing list