Page MenuHomeFreeBSD

D52868.diff
No OneTemporary

D52868.diff

diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -1201,7 +1201,6 @@
*/
if (sc->sc_flags & SCF_TIMESTAMP && to->to_flags & TOF_TS &&
TSTMP_LT(to->to_tsval, sc->sc_tsreflect)) {
- SCH_UNLOCK(sch);
if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
log(LOG_DEBUG,
"%s; %s: SEG.TSval %u < TS.Recent %u, "
@@ -1209,6 +1208,7 @@
to->to_tsval, sc->sc_tsreflect);
free(s, M_TCPLOG);
}
+ SCH_UNLOCK(sch);
return (-1); /* Do not send RST */
}
@@ -1280,11 +1280,11 @@
* SEG.ACK must match our initial send sequence number + 1.
*/
if (th->th_ack != sc->sc_iss + 1) {
- SCH_UNLOCK(sch);
if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
log(LOG_DEBUG, "%s; %s: ACK %u != ISS+1 %u, "
"segment rejected\n",
s, __func__, th->th_ack, sc->sc_iss + 1);
+ SCH_UNLOCK(sch);
goto failed;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Jul 19, 10:59 PM (34 m, 18 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35255035
Default Alt Text
D52868.diff (966 B)

Event Timeline