All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parent pidns
@ 2009-05-03 23:27 Alexey Dobriyan
  2009-05-05  1:58 ` [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parentpidns Sukadev Bhattiprolu
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Alexey Dobriyan @ 2009-05-03 23:27 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, containers, xemul

create_pid_namespace() creates everything, but caller has to assign parent
pidns by hand, which is unnatural. At the moment of call new ->level has
to be taken from somewhere and parent pidns is already available.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
 kernel/pid_namespace.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/pid_namespace.c b/kernel/pid_namespace.c
index 2d1001b..495d5de 100644
--- a/kernel/pid_namespace.c
+++ b/kernel/pid_namespace.c
@@ -67,9 +67,10 @@ err_alloc:
 	return NULL;
 }
 
-static struct pid_namespace *create_pid_namespace(unsigned int level)
+static struct pid_namespace *create_pid_namespace(struct pid_namespace *parent_pid_ns)
 {
 	struct pid_namespace *ns;
+	unsigned int level = parent_pid_ns->level + 1;
 	int i;
 
 	ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL);
@@ -86,6 +87,7 @@ static struct pid_namespace *create_pid_namespace(unsigned int level)
 
 	kref_init(&ns->kref);
 	ns->level = level;
+	ns->parent = get_pid_ns(parent_pid_ns);
 
 	set_bit(0, ns->pidmap[0].page);
 	atomic_set(&ns->pidmap[0].nr_free, BITS_PER_PAGE - 1);
@@ -125,9 +127,7 @@ struct pid_namespace *copy_pid_ns(unsigned long flags, struct pid_namespace *old
 	if (flags & CLONE_THREAD)
 		goto out_put;
 
-	new_ns = create_pid_namespace(old_ns->level + 1);
-	if (!IS_ERR(new_ns))
-		new_ns->parent = get_pid_ns(old_ns);
+	new_ns = create_pid_namespace(old_ns);
 
 out_put:
 	put_pid_ns(old_ns);

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

end of thread, other threads:[~2009-05-08 19:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-03 23:27 [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parent pidns Alexey Dobriyan
2009-05-05  1:58 ` [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parentpidns Sukadev Bhattiprolu
2009-05-08 19:15 ` [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parent pidns Serge E. Hallyn
     [not found] ` <20090503232700.GD16631-2ev+ksY9ol182hYKe6nXyg@public.gmane.org>
2009-05-05  1:58   ` [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parentpidns Sukadev Bhattiprolu
2009-05-08 19:15   ` [PATCH 1/2] pidns 1/2: make create_pid_namespace() accept parent pidns 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.