lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1394424146.3607.2.camel@edumazet-glaptop2.roam.corp.google.com>
Date:	Sun, 09 Mar 2014 21:02:26 -0700
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	Jakub Kicinski <moorray3@...pl>
Cc:	netdev@...r.kernel.org, Fan Du <fan.du@...driver.com>,
	Steffen Klassert <steffen.klassert@...unet.com>
Subject: Re: net-next: NULL pointer dereference on adding a net namespace
 and a system freeze

On Mon, 2014-03-10 at 01:44 +0100, Jakub Kicinski wrote:
> Hi!
> 
> Running Fedora 20 with net-next I get the following warning when
> libvirt or rtkit comes up:
> 
> [  272.143488] kmem_cache_sanity_check (flow_cache): Cache name already exists.
> [  272.143586] CPU: 0 PID: 975 Comm: libvirtd Not tainted 3.14.0-rc5+ #1
> [  272.143589] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011
> [  272.143591]  0000000000000000 ffff88003ceadba0 ffffffff8167baf0 ffff88003db3d300
> [  272.143595]  ffff88003ceadc18 ffffffff8117795b ffff88003ceadbc8 ffff88003b235158
> [  272.143599]  0000000000000000 0000000000040000 0000000000000068 0000000000000000
> [  272.143602] Call Trace:
> [  272.143610]  [<ffffffff8167baf0>] dump_stack+0x4d/0x66
> [  272.143615]  [<ffffffff8117795b>] kmem_cache_create_memcg+0x12b/0x420
> [  272.143618]  [<ffffffff81177c7b>] kmem_cache_create+0x2b/0x30
> [  272.143622]  [<ffffffff815c4a0e>] flow_cache_init+0x2e/0x2b0
> [  272.143626]  [<ffffffff8164b017>] xfrm_net_init+0x227/0x360
> [  272.143629]  [<ffffffff8164af41>] ? xfrm_net_init+0x151/0x360
> [  272.143632]  [<ffffffff815a5921>] ops_init+0x41/0x150
> [  272.143635]  [<ffffffff815a5aa3>] setup_net+0x73/0x110
> [  272.143638]  [<ffffffff815a5fe2>] copy_net_ns+0x72/0x100
> [  272.143642]  [<ffffffff810943f9>] create_new_namespaces+0xf9/0x190
> [  272.143645]  [<ffffffff81094560>] copy_namespaces+0xd0/0xf0
> [  272.143648]  [<ffffffff81094495>] ? copy_namespaces+0x5/0xf0
> [  272.143651]  [<ffffffff81069be0>] copy_process.part.31+0x950/0x1b30
> [  272.143655]  [<ffffffff8106af95>] do_fork+0xd5/0x370
> [  272.143658]  [<ffffffff811c1b2d>] ? __fput+0x17d/0x240
> [  272.143662]  [<ffffffff8110440c>] ? __audit_syscall_entry+0x9c/0xf0
> [  272.143665]  [<ffffffff8106b2b6>] SyS_clone+0x16/0x20
> [  272.143669]  [<ffffffff8168cf19>] stub_clone+0x69/0x90
> [  272.143673]  [<ffffffff8168cb69>] ? system_call_fastpath+0x16/0x1b
> 
> 
> When I try to add a netns with 
> # ip netns add abcd
> I it dies with:


Yep, commit ca925cf1534ebcec332c08719a7dee6ee1782ce4 is buggy.

    flowcache: Make flow cache name space aware
    
    Inserting a entry into flowcache, or flushing flowcache should be based
    on per net scope. The reason to do so is flushing operation from fat
    netns crammed with flow entries will also making the slim netns with only
    a few flow cache entries go away in original implementation.
    
    Since flowcache is tightly coupled with IPsec, so it would be easier to
    put flow cache global parameters into xfrm namespace part. And one last
    thing needs to do is bumping flow cache genid, and flush flow cache should
    also be made in per net style.
    
    Signed-off-by: Fan Du <fan.du@...driver.com>
    Signed-off-by: Steffen Klassert <steffen.klassert@...unet.com>

I fail to understand why the kmem_cache must be private to a netns.



--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ