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>