Skip to contentSkip to conversation

Don't memset() netns to zero manually

PATCH Applied Pavel Emelyanov 2 participants 2 messages Oct 9, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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().

---

net/core/net_namespace.c +1 -2
index 0e0ca6d..6f71db8 100644
@@ -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);
 
maintainer Applied
#1 lore raw

From: Pavel Emelyanov <[email protected]>
Date: Tue, 09 Oct 2007 15:48:19 +0400

Quoted 8 lines

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().

Applied, thanks Pavel!