Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Apr 2006 21:10:37 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Peter Jeremy <peterjeremy@optushome.com.au>
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/sys/netinet tcp_input.c tcp_subr.c tcp_timer.c tcp_usrreq.c tcp_var.h
Message-ID:  <20060401211002.J82503@fledge.watson.org>
In-Reply-To: <20060401204129.GB684@turion.vk2pj.dyndns.org>
References:  <200604011636.k31GabRv029962@repoman.freebsd.org> <20060401204129.GB684@turion.vk2pj.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sun, 2 Apr 2006, Peter Jeremy wrote:

> On Sat, 2006-Apr-01 16:36:37 +0000, Robert Watson wrote:
>>  - Annotate the existence of a long-standing race in the TCP timer code,
>>    in which timers are stopped but not drained when the socket is freed,
>>    as waiting for drain may lead to deadlocks, or have to occur in a
>>    context where waiting is not permitted.  This race has been handled
>>    by testing to see if the tcpcb pointer in the inpcb is NULL (and vice
>>    versa), which is not normally permitted, but may be true of a inpcb
>>    and tcpcb have been freed.  Add a counter to test how often this race
>>    has actually occurred, and a large comment for each instance where
>>    we compare potentially freed memory with NULL.  This will have to be
>>    fixed in the near future, but requires is to further address how to
>>    handle the timer shutdown shutdown issue.
>
> Is it worthwhile (or possible) to merge this bit into 6.x earlier to provide 
> greater exposure and therefore more statistics on the occurrence of this 
> race?

Yes.  I'll merge it after 6.1.  If I forget, please remind me.

Robert N M Watson



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