Date: Mon, 5 Oct 2009 22:24:13 +0000 (UTC) From: Robert Watson <rwatson@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/netinet tcp_input.c Message-ID: <200910052224.n95MOTmO058260@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
rwatson 2009-10-05 22:24:13 UTC FreeBSD src repository Modified files: sys/netinet tcp_input.c Log: SVN rev 197795 on 2009-10-05 22:24:13Z by rwatson In tcp_input(), we acquire a global write lock at first only if a segment is likely to trigger a TCP state change (i.e., FIN/RST/SYN). If we later have to upgrade the lock, we acquire an inpcb reference and drop both global/inpcb locks before reacquiring in-order. In that gap, the connection may transition into TIMEWAIT, so we need to loop back and reevaluate the inpcb after relocking. MFC after: 3 days Reported by: Kamigishi Rei <spambox at haruhiism.net> Reviewed by: bz Revision Changes Path 1.412 +4 -1 src/sys/netinet/tcp_input.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910052224.n95MOTmO058260>