From: Alexey Dobriyan <adobriyan@gmail.com>
Date: Mon, 4 May 2009 18:11:38 +0000 (-0700)
Subject: netns 1/2: don't get/put old netns on CLONE_NEWNET
X-Git-Tag: firefly_0821_release~13604^2~563
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4a84822c60afa2b0e2d3370041f69f9526a34757;p=firefly-linux-kernel-4.4.55.git

netns 1/2: don't get/put old netns on CLONE_NEWNET

copy_net_ns() doesn't copy anything, it creates fresh netns, so
get/put of old netns isn't needed.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index e3bebd36f053..4488010d5a52 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -120,10 +120,8 @@ struct net *copy_net_ns(unsigned long flags, struct net *old_net)
 	struct net *new_net = NULL;
 	int err;
 
-	get_net(old_net);
-
 	if (!(flags & CLONE_NEWNET))
-		return old_net;
+		return get_net(old_net);
 
 	err = -ENOMEM;
 	new_net = net_alloc();
@@ -142,7 +140,6 @@ struct net *copy_net_ns(unsigned long flags, struct net *old_net)
 	if (err)
 		goto out_free;
 out:
-	put_net(old_net);
 	return new_net;
 
 out_free: