[PATCH] nsproxy cloning error path fix

This patch fixes copy_namespaces()'s error path.

when new nsproxy (new_ns) is created pointers to namespaces (ipc, uts) are
copied from the old nsproxy.  Later in copy_utsname, copy_ipcs, etc.
according namespaces are get-ed.  On error path needed namespaces are
put-ed, so there's no need to put new nsproxy itelf as it woud cause
putting namespaces for the second time.

Found when incorporating namespaces into OpenVZ kernel.

Signed-off-by: Pavel Emelianov <xemul@openvz.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Pavel 2006-10-02 02:18:24 -07:00 committed by Linus Torvalds
parent fcfbd547b1
commit 5d124e99c2

View file

@ -123,7 +123,7 @@ int copy_namespaces(int flags, struct task_struct *tsk)
put_namespace(new_ns->namespace);
out_ns:
tsk->nsproxy = old_ns;
put_nsproxy(new_ns);
kfree(new_ns);
goto out;
}