[PATCH 1/1] cr: nsproxy: fix refcounting

Serge E. Hallyn serue at us.ibm.com
Tue May 26 15:03:13 PDT 2009


[This is the fix for the bug I was trying to nail down earlier today]

If more than one restarted task are to share a checkpointed nsproxy,
then we must inc the count on the nsproxy for each new task, as
switch_task_namespaces() does not do that for us.

Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
---
 checkpoint/process.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/checkpoint/process.c b/checkpoint/process.c
index fa166cd..52d2a9c 100644
--- a/checkpoint/process.c
+++ b/checkpoint/process.c
@@ -603,8 +603,10 @@ static int restore_ns_obj(struct ckpt_ctx *ctx, int ns_objref)
 	if (IS_ERR(nsproxy))
 		return PTR_ERR(nsproxy);
 
-	if (nsproxy != task_nsproxy(current))
+	if (nsproxy != task_nsproxy(current)) {
+		get_nsproxy(nsproxy);
 		switch_task_namespaces(current, nsproxy);
+	}
 
 	return 0;
 }
-- 
1.6.1



More information about the Containers mailing list