Re: 2.6.25-rc2-mm1 - several bugs and a crash

From: Patrick McHardy
Date: Thu Feb 21 2008 - 11:35:34 EST


Stephen Hemminger wrote:
On Thu, 21 Feb 2008 12:28:50 +0100
Patrick McHardy <kaber@xxxxxxxxx> wrote:


diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index 327e847..b77eb56 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -256,13 +256,19 @@ __nf_conntrack_find(const struct nf_conntrack_tuple *tuple)
struct hlist_node *n;
unsigned int hash = hash_conntrack(tuple);
+ /* Disable BHs the entire time since we normally need to disable them
+ * at least once for the stats anyway.
+ */
+ local_bh_disable();

Use rcu_read_lock instead. local_bh_disable() won't work with some of the other forms
of RCU alternatives.

The caller already calls rcu_read_lock(). This is for the per-cpu
statistics.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/