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;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to