Date: Wed, 12 Oct 2011 19:52:24 +0000 (UTC) From: Navdeep Parhar <np@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r226318 - head/sys/netinet Message-ID: <201110121952.p9CJqOhG081504@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: np Date: Wed Oct 12 19:52:23 2011 New Revision: 226318 URL: http://svn.freebsd.org/changeset/base/226318 Log: Make sure the inp wasn't dropped when rexmt let go of the inp and pcbinfo locks. Reviewed by: andre@ MFC after: 7 days Modified: head/sys/netinet/tcp_timer.c Modified: head/sys/netinet/tcp_timer.c ============================================================================== --- head/sys/netinet/tcp_timer.c Wed Oct 12 19:25:12 2011 (r226317) +++ head/sys/netinet/tcp_timer.c Wed Oct 12 19:52:23 2011 (r226318) @@ -495,6 +495,13 @@ tcp_timer_rexmt(void * xtp) CURVNET_RESTORE(); return; } + if (inp->inp_flags & INP_DROPPED) { + INP_WUNLOCK(inp); + INP_INFO_WUNLOCK(&V_tcbinfo); + CURVNET_RESTORE(); + return; + } + tp = tcp_drop(tp, tp->t_softerror ? tp->t_softerror : ETIMEDOUT); headlocked = 1;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110121952.p9CJqOhG081504>