we should call pid_ns_release_proc to unmount pid_namespace's proc_mnt when copy_net_ns failed in function create_new_namespaces. otherwise,the proc_mnt will not be freed and because the super_block of proc_mnt also add the reference of the pid_namespace,so this pid_namespace will never be released too. Signed-off-by: Gao feng <gaofeng@xxxxxxxxxxxxxx> --- kernel/nsproxy.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/kernel/nsproxy.c b/kernel/nsproxy.c index b576f7f..d536480 100644 --- a/kernel/nsproxy.c +++ b/kernel/nsproxy.c @@ -99,8 +99,11 @@ static struct nsproxy *create_new_namespaces(unsigned long flags, return new_nsp; out_net: - if (new_nsp->pid_ns) + if (new_nsp->pid_ns) { + if (flags & CLONE_NEWPID) + pid_ns_release_proc(new_nsp->pid_ns); put_pid_ns(new_nsp->pid_ns); + } out_pid: if (new_nsp->ipc_ns) put_ipc_ns(new_nsp->ipc_ns); -- 1.7.7.6 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers