svn commit: r226574 - stable/9/sys/netinet

Navdeep Parhar np at FreeBSD.org
Thu Oct 20 17:09:54 UTC 2011


Author: np
Date: Thu Oct 20 17:09:53 2011
New Revision: 226574
URL: http://svn.freebsd.org/changeset/base/226574

Log:
  MFC r226318:
  
  Make sure the inp wasn't dropped when rexmt let go of the inp and
  pcbinfo locks.
  
  Approved by:	re (kib)

Modified:
  stable/9/sys/netinet/tcp_timer.c
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/netinet/tcp_timer.c
==============================================================================
--- stable/9/sys/netinet/tcp_timer.c	Thu Oct 20 16:08:11 2011	(r226573)
+++ stable/9/sys/netinet/tcp_timer.c	Thu Oct 20 17:09:53 2011	(r226574)
@@ -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;


More information about the svn-src-all mailing list