Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Aug 2009 22:53:28 +0000 (UTC)
From:      Peter Wemm <peter@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r196410 - head/sys/netinet
Message-ID:  <200908202253.n7KMrSUs002026@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: peter
Date: Thu Aug 20 22:53:28 2009
New Revision: 196410
URL: http://svn.freebsd.org/changeset/base/196410

Log:
  Fix signed comparison bug when ticks goes negative after 24 days of
  uptime.  This causes the tcp time_wait state code to fail to expire
  sockets in timewait state.
  
  Approved by:	re (kensmith)

Modified:
  head/sys/netinet/tcp_timewait.c

Modified: head/sys/netinet/tcp_timewait.c
==============================================================================
--- head/sys/netinet/tcp_timewait.c	Thu Aug 20 22:39:20 2009	(r196409)
+++ head/sys/netinet/tcp_timewait.c	Thu Aug 20 22:53:28 2009	(r196410)
@@ -603,7 +603,7 @@ tcp_tw_2msl_scan(int reuse)
 	INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
 	for (;;) {
 		tw = TAILQ_FIRST(&V_twq_2msl);
-		if (tw == NULL || (!reuse && tw->tw_time > ticks))
+		if (tw == NULL || (!reuse && (tw->tw_time - ticks) > 0))
 			break;
 		INP_WLOCK(tw->tw_inpcb);
 		tcp_twclose(tw, reuse);



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