Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Dec 2002 12:03:24 -0800
From:      Jeffrey Hsu <hsu@FreeBSD.org>
To:        Pierre Beyssac <pb@fasterix.frmug.org>
Cc:        freebsd-current@FreeBSD.org, jlemon@FreeBSD.org
Subject:   Re: panic in netinet/tcp_syncache.c: syncache_timer
Message-ID:  <0H7H003Z9JGAED@mta7.pltn13.pbi.net>
In-Reply-To: Message from Pierre Beyssac <pb@fasterix.frmug.org> "of Sat, 21 Dec 2002 19:53:33 %2B0100." <20021221185333.GB913@fasterix.frmug.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multipart MIME message.

--Boundary_(ID_grmdxcDnr+LhDN6MfQcemQ)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT

Pierre, can you see if this patch fixes your problem?  Thanks.

						Jeffrey

--Boundary_(ID_grmdxcDnr+LhDN6MfQcemQ)
Content-type: text/plain; name=tcp_syncache.diff; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=tcp_syncache.diff
Content-description: tcp_syncache.diff

Index: tcp_syncache.c
===================================================================
RCS file: /home/ncvs/src/sys/netinet/tcp_syncache.c,v
retrieving revision 1.30
diff -u -r1.30 tcp_syncache.c
--- tcp_syncache.c	20 Dec 2002 11:24:02 -0000	1.30
+++ tcp_syncache.c	21 Dec 2002 19:52:18 -0000
@@ -384,14 +384,12 @@
 			break;
 		sc = nsc;
 		inp = sc->sc_tp->t_inpcb;
-		INP_LOCK(inp);
 		if (slot == SYNCACHE_MAXREXMTS ||
 		    slot >= tcp_syncache.rexmt_limit ||
 		    inp->inp_gencnt != sc->sc_inp_gencnt) {
 			nsc = TAILQ_NEXT(sc, sc_timerq);
 			syncache_drop(sc, NULL);
 			tcpstat.tcps_sc_stale++;
-			INP_UNLOCK(inp);
 			continue;
 		}
 		/*
@@ -399,6 +397,7 @@
 		 * to modify another entry, so do not obtain the next
 		 * entry on the timer chain until it has completed.
 		 */
+		INP_LOCK(inp);
 		(void) syncache_respond(sc, NULL);
 		INP_UNLOCK(inp);
 		nsc = TAILQ_NEXT(sc, sc_timerq);

--Boundary_(ID_grmdxcDnr+LhDN6MfQcemQ)--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0H7H003Z9JGAED>