[NETNS]: Don't memset() netns to zero manually
authorPavel Emelyanov <xemul@openvz.org>
Tue, 9 Oct 2007 20:02:17 +0000 (13:02 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:54:59 +0000 (16:54 -0700)
The newly created net namespace is set to 0 with memset()
in setup_net(). The setup_net() is also called for the
init_net_ns(), which is zeroed naturally as a global var.

So remove this memset and allocate new nets with the
kmem_cache_zalloc().

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/net_namespace.c

index 0e0ca6d..6f71db8 100644 (file)
@@ -24,7 +24,7 @@ EXPORT_SYMBOL_GPL(init_net);
 
 static struct net *net_alloc(void)
 {
-       return kmem_cache_alloc(net_cachep, GFP_KERNEL);
+       return kmem_cache_zalloc(net_cachep, GFP_KERNEL);
 }
 
 static void net_free(struct net *net)
@@ -90,7 +90,6 @@ static int setup_net(struct net *net)
        struct pernet_operations *ops;
        int error;
 
-       memset(net, 0, sizeof(struct net));
        atomic_set(&net->count, 1);
        atomic_set(&net->use_count, 0);