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

From: Stephen Hemminger
Date: Thu Feb 21 2008 - 11:33:18 EST


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

> Tilman Schmidt wrote:
> > Still, X came up fine, I could log in (Gnome feeling subjectively
> > a bit sluggish), call up a web page from the Internet in Firefox,
> > and start perusing the logs, when the whole system froze: neither
> > mouse nor keyboard would react anymore, and only the Wind^Wreset
> > button would put me back in control. After rebooting into the
> > previous, non-mm kernel I found this in the syslog:
> >
> > Feb 20 17:22:40 xenon kernel: [ 48.180297] BUG: using smp_processor_id() in preemptible [00000000] code: ntpdate/3562
> > Feb 20 17:22:40 xenon kernel: [ 48.180297] caller is __nf_conntrack_find+0x9b/0xeb [nf_conntrack]
> > Feb 20 17:22:40 xenon kernel: [ 48.180297] Pid: 3562, comm: ntpdate Not tainted 2.6.25-rc2-mm1-testing #1
> > Feb 20 17:22:40 xenon kernel: [ 48.180297] [<c02015b9>] debug_smp_processor_id+0x99/0xb0
>
>
> Could you test whether this patch fixes the netfilter
> warnings please?
>

> 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.

--
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/