All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2.6 19/19]: fix stats in __ip_conntrack_confirm
@ 2004-10-25  0:50 Patrick McHardy
  0 siblings, 0 replies; only message in thread
From: Patrick McHardy @ 2004-10-25  0:50 UTC (permalink / raw)
  To: David S. Miller; +Cc: Netfilter Development Mailinglist

[-- Attachment #1: Type: text/plain, Size: 130 bytes --]

net_rx_softirq can preempt the calling process while incrementing the stats,
call CONNTRACK_STAT_INC within the locked section.



[-- Attachment #2: 19.diff --]
[-- Type: text/x-patch, Size: 1543 bytes --]

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/25 01:11:17+02:00 pablo@eurodev.net 
#   [NETFILTER]: fix stats in __ip_conntrack_confirm
#   
#   net_rx_softirq can preempt the calling process while incrementing the stats.
#   I think that we can fix this moving both CONNTRACK_STAT_INC to the locked
#   section. 
#   
#   Signed-off-by: Pablo Neira Ayuso <pablo@eurodev.net>
#   Signed-off-by: Patrick McHardy <kaber@trash.net>
# 
# net/ipv4/netfilter/ip_conntrack_core.c
#   2004/10/25 01:11:10+02:00 pablo@eurodev.net +3 -2
#   [NETFILTER]: fix stats in __ip_conntrack_confirm
#   
#   net_rx_softirq can preempt the calling process while incrementing the stats.
#   I think that we can fix this moving both CONNTRACK_STAT_INC to the locked
#   section. 
#   
#   Signed-off-by: Pablo Neira Ayuso <pablo@eurodev.net>
#   Signed-off-by: Patrick McHardy <kaber@trash.net>
# 
diff -Nru a/net/ipv4/netfilter/ip_conntrack_core.c b/net/ipv4/netfilter/ip_conntrack_core.c
--- a/net/ipv4/netfilter/ip_conntrack_core.c	2004-10-25 01:14:06 +02:00
+++ b/net/ipv4/netfilter/ip_conntrack_core.c	2004-10-25 01:14:06 +02:00
@@ -434,13 +434,14 @@
 		add_timer(&ct->timeout);
 		atomic_inc(&ct->ct_general.use);
 		set_bit(IPS_CONFIRMED_BIT, &ct->status);
-		WRITE_UNLOCK(&ip_conntrack_lock);
 		CONNTRACK_STAT_INC(insert);
+		WRITE_UNLOCK(&ip_conntrack_lock);
 		return NF_ACCEPT;
 	}
 
-	WRITE_UNLOCK(&ip_conntrack_lock);
 	CONNTRACK_STAT_INC(insert_failed);
+	WRITE_UNLOCK(&ip_conntrack_lock);
+
 	return NF_DROP;
 }
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-10-25  0:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-25  0:50 [PATCH 2.6 19/19]: fix stats in __ip_conntrack_confirm Patrick McHardy

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.