فهرست منبع

[NETNS]: Don't memset() netns to zero manually

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>
Pavel Emelyanov 17 سال پیش
والد
کامیت
32f0c4cbe4
1فایلهای تغییر یافته به همراه1 افزوده شده و 2 حذف شده
  1. 1 2
      net/core/net_namespace.c

+ 1 - 2
net/core/net_namespace.c

@@ -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);