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>