All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 06/30] netns: don't get/put old netns on CLONE_NEWNET
@ 2009-04-10  2:34 ` Alexey Dobriyan
  0 siblings, 0 replies; 4+ messages in thread
From: Alexey Dobriyan @ 2009-04-10  2:34 UTC (permalink / raw)
  To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: xemul-bzQdu9zFT3WakBO8gow8eQ, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, hch-wEGCiKHe2LqWVfeAwA7xHQ,
	mingo-X9Un+BFzKDI, torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b

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

Signed-off-by: Alexey Dobriyan <adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---

 net/core/net_namespace.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

--- 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:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 06/30] netns: don't get/put old netns on CLONE_NEWNET
@ 2009-04-10  2:34 ` Alexey Dobriyan
  0 siblings, 0 replies; 4+ messages in thread
From: Alexey Dobriyan @ 2009-04-10  2:34 UTC (permalink / raw)
  To: akpm, containers
  Cc: xemul, serue, dave, mingo, orenl, hch, torvalds, linux-kernel

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

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 net/core/net_namespace.c |    5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

--- 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:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 06/30] netns: don't get/put old netns on CLONE_NEWNET
       [not found] ` <20090410023431.GG27788-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
@ 2009-04-10 22:39   ` Serge E. Hallyn
  0 siblings, 0 replies; 4+ messages in thread
From: Serge E. Hallyn @ 2009-04-10 22:39 UTC (permalink / raw)
  To: Alexey Dobriyan
  Cc: xemul-bzQdu9zFT3WakBO8gow8eQ,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	dave-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, hch-wEGCiKHe2LqWVfeAwA7xHQ,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b, mingo-X9Un+BFzKDI

Quoting Alexey Dobriyan (adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org):
> copy_net_ns() doesn't copy anything, it creates fresh netns,
> so get/put of old netns is unneeded.
> 
> Signed-off-by: Alexey Dobriyan <adobriyan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Acked-by: Serge Hallyn <serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>

> ---
> 
>  net/core/net_namespace.c |    5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> --- 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:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 06/30] netns: don't get/put old netns on CLONE_NEWNET
  2009-04-10  2:34 ` Alexey Dobriyan
  (?)
@ 2009-04-10 22:39 ` Serge E. Hallyn
  -1 siblings, 0 replies; 4+ messages in thread
From: Serge E. Hallyn @ 2009-04-10 22:39 UTC (permalink / raw)
  To: Alexey Dobriyan
  Cc: akpm, containers, xemul, dave, mingo, orenl, hch, torvalds,
	linux-kernel

Quoting Alexey Dobriyan (adobriyan@gmail.com):
> copy_net_ns() doesn't copy anything, it creates fresh netns,
> so get/put of old netns is unneeded.
> 
> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>

Acked-by: Serge Hallyn <serue@us.ibm.com>

> ---
> 
>  net/core/net_namespace.c |    5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> --- 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:

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-04-10 22:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-10  2:34 [PATCH 06/30] netns: don't get/put old netns on CLONE_NEWNET Alexey Dobriyan
2009-04-10  2:34 ` Alexey Dobriyan
2009-04-10 22:39 ` Serge E. Hallyn
     [not found] ` <20090410023431.GG27788-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-04-10 22:39   ` Serge E. Hallyn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.