Re: 2.6.20-rc6-mm1
From: Andrew Morton <hidden>
Date: 2007-01-28 23:10:47
Also in:
lkml
On Sun, 28 Jan 2007 23:31:00 +0100 Michal Piotrowski [off-list ref] wrote:
Jan 28 22:58:29 euridica kernel: BUG: using smp_processor_id() in preemptible [00000001] code: yum-updatesd/2846 Jan 28 22:58:29 euridica kernel: caller is nf_conntrack_in+0x363/0x47f [nf_conntrack]
I'll plug that with this: diff -puN include/net/netfilter/nf_conntrack.h~netfilter-warning-fix include/net/netfilter/nf_conntrack.h
--- a/include/net/netfilter/nf_conntrack.h~netfilter-warning-fix
+++ a/include/net/netfilter/nf_conntrack.h@@ -254,7 +254,12 @@ extern atomic_t nf_conntrack_count; extern int nf_conntrack_max; DECLARE_PER_CPU(struct ip_conntrack_stat, nf_conntrack_stat); -#define NF_CT_STAT_INC(count) (__get_cpu_var(nf_conntrack_stat).count++) +#define NF_CT_STAT_INC(count) \ + do { \ + preempt_disable(); \ + __get_cpu_var(nf_conntrack_stat).count++; \ + preempt_enable(); \ + } while (0); /* no helper, no nat */ #define NF_CT_F_BASIC 0
_ and will let others worry about what the real fix (for 2.6.20, please) is.