Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jun 2009 14:42:20 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        src-committers@freebsd.org
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r193941 - head/sys/netinet
Message-ID:  <200906101442.20988.jhb@freebsd.org>
In-Reply-To: <200906101827.n5AIRFoR022115@svn.freebsd.org>
References:  <200906101827.n5AIRFoR022115@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 10 June 2009 2:27:15 pm John Baldwin wrote:
> Author: jhb
> Date: Wed Jun 10 18:27:15 2009
> New Revision: 193941
> URL: http://svn.freebsd.org/changeset/base/193941
> 
> Log:
>   Change a few members of tcpcb that store cached copies of ticks to be ints
>   instead of unsigned longs.  This fixes a few overflow edge cases on 64-bit
>   platforms.  Specifically, if an idle connection receives a packet shortly
>   before 2^31 clock ticks of uptime (about 25 days with hz=1000) and the keep
>   alive timer fires after 2^31 clock ticks, the keep alive timer will think
>   that the connection has been idle for a very long time and will immediately
>   drop the connection instead of sending a keep alive probe.
>   
>   Reviewed by:	silby, gnn, lstewart
>   MFC after:	1 week

Note that the MFC patch for 7 is very different.  I can't change the members
to int in 7 since tcpcb is part of the ABI (for netstat, etc.).  So, for 7 I
added explicit casts in the math operations using t_rcvtime and ticks.

-- 
John Baldwin



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