Re: PROBLEM: reproducible crash KVM+nf_conntrack all recent 2.6kernels

From: Eric Dumazet
Date: Fri Jan 29 2010 - 04:10:44 EST


Le vendredi 29 janvier 2010 Ã 03:42 -0500, Jon Masters a Ãcrit :
> Hi,
>
> So I did some poking (still trying to figure out netfilter a little
> internally) and looked over the handling of connection tracking. The
> oops reports I have been getting generally lie in __nf_conntrack_find,
> specifically within a hlist iterator that looks up the information for
> the current connection in a per-net namespace hashtable (under RCU, it's
> been locked already by the time we get in here). Here's the piece:
>
> hlist_nulls_for_each_entry_rcu(h, n, &net->ct.hash[hash],
> hnnode) {
> if (nf_ct_tuple_equal(tuple, &h->tuple)) {
> NF_CT_STAT_INC(net, found);
> local_bh_enable();
> return h;
> }
> NF_CT_STAT_INC(net, searched);
> }
>
> Instrumenting the kernel at the moment and then setting up more of a
> debugging environment to poke at what goes wrong here. Perhaps there's
> some broken RCU assumption - I just spent the last few hours reading
> over netfilter source and Paul's RCU docs again to brush up.
>
> Perhaps you netdev folks can let me know if there's a handy netfilter
> debugging guide somewhere.
>
> Jon.
>
>

Jon, do you have multiple network namespace active on your machine, when
crash occurs ?



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