Re: [Bug #13838] kernel BUG at include/net/netns/generic.h:41!

Eric Dumazet
2009-07-28T12:46:54Z

Luca Tettamanti a écrit :
> On Mon, Jul 27, 2009 at 7:29 AM, Américo Wang<xiyou.wangcong@gmail.com> wrote:
>> On Mon, Jul 27, 2009 at 4:28 AM, Rafael J. Wysocki<rjw@sisk.pl> wrote:
>>> This message has been generated automatically as a part of a report
>>> of recent regressions.
>>>
>>> The following bug entry is on the current list of known regressions
>>> from 2.6.30. Please verify if it still should be listed and let me know
>>> (either way).
>>>
>>>
>>> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=13838
>>> Subject : kernel BUG at include/net/netns/generic.h:41!
>>> Submitter : Luca Tettamanti <kronos.it@gmail.com>
>>> Date : 2009-07-20 15:27 (7 days old)
>>> References : http://lkml.org/lkml/2009/7/20/105
>> Hmm, it looks like that 'pfkey_net_id' is still zero after ipsec_pfkey_init()...
>>
>> Add Herbert and net-dev into Cc.
>>
>> Luca, would you mind to provide your .config and the steps to reproduce this?
>
> I cannot reproduce it anymore with the current git kernel. The BUG was
> triggered by racoon at startup.
> Should I go back to an older kernel to investigate or can we consider
> it "fixed"?
>

This should be fixed by following patch (submitted for bug 13760, but should apply)

diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index b7292a2..1972830 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -488,7 +488,7 @@ int net_assign_generic(struct net *net, int id, void *data)
*/

ng->len = id;
- memcpy(&ng->ptr, &old_ng->ptr, old_ng->len);
+ memcpy(&ng->ptr, &old_ng->ptr, old_ng->len * sizeof(void *));

rcu_assign_pointer(net->gen, ng);
call_rcu(&old_ng->rcu, net_generic_release);