* [PATCH] locking fix for TCP conntrack
@ 2003-01-09 14:42 Harald Welte
2003-01-10 8:42 ` David S. Miller
0 siblings, 1 reply; 3+ messages in thread
From: Harald Welte @ 2003-01-09 14:42 UTC (permalink / raw)
To: David Miller; +Cc: Netfilter Development Mailinglist
[-- Attachment #1: Type: text/plain, Size: 1549 bytes --]
Hi Dave!
This is another patch of the series of patches you will receive from me today.
Please apply to 2.4.x and 2.5.x, thanks.
Author: Martin Josefsson <gandalf@wlug.westbo.se>
Fix a locking bug in ip_conntrack_proto_tcp.
--- linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_tcp.c.meep 2002-10-24 17:05:49.000000000 +0200
+++ linux-2.4.20-pre10/net/ipv4/netfilter/ip_conntrack_proto_tcp.c 2002-10-24 17:11:19.000000000 +0200
@@ -186,13 +186,13 @@
&& tcph->syn && tcph->ack)
conntrack->proto.tcp.handshake_ack
= htonl(ntohl(tcph->seq) + 1);
- WRITE_UNLOCK(&tcp_lock);
/* If only reply is a RST, we can consider ourselves not to
have an established connection: this is a fairly common
problem case, so we can delete the conntrack
immediately. --RR */
if (!(conntrack->status & IPS_SEEN_REPLY) && tcph->rst) {
+ WRITE_UNLOCK(&tcp_lock);
if (del_timer(&conntrack->timeout))
conntrack->timeout.function((unsigned long)conntrack);
} else {
@@ -203,6 +203,7 @@
&& tcph->ack_seq == conntrack->proto.tcp.handshake_ack)
set_bit(IPS_ASSURED_BIT, &conntrack->status);
+ WRITE_UNLOCK(&tcp_lock);
ip_ct_refresh(conntrack, tcp_timeouts[newconntrack]);
}
--
- Harald Welte / laforge@gnumonks.org http://www.gnumonks.org/
============================================================================
"If this were a dictatorship, it'd be a heck of a lot easier, just so long
as I'm the dictator." -- George W. Bush Dec 18, 2000
[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-01-10 9:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-09 14:42 [PATCH] locking fix for TCP conntrack Harald Welte
2003-01-10 8:42 ` David S. Miller
2003-01-10 9:00 ` unscribe ??
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.