lkml.org 
[lkml]   [2012]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 24/54] namespaces, pid_ns: fix leakage on fork() failure
    3.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Mike Galbraith <efault@gmx.de>

    commit 5e2bf0142231194d36fdc9596b36a261ed2b9fe7 upstream.

    Fork() failure post namespace creation for a child cloned with
    CLONE_NEWPID leaks pid_namespace/mnt_cache due to proc being mounted
    during creation, but not unmounted during cleanup. Call
    pid_ns_release_proc() during cleanup.

    Signed-off-by: Mike Galbraith <efault@gmx.de>
    Acked-by: Oleg Nesterov <oleg@redhat.com>
    Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Pavel Emelyanov <xemul@parallels.com>
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Cc: Louis Rilling <louis.rilling@kerlabs.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    kernel/fork.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/kernel/fork.c
    +++ b/kernel/fork.c
    @@ -48,6 +48,7 @@
    #include <linux/audit.h>
    #include <linux/memcontrol.h>
    #include <linux/ftrace.h>
    +#include <linux/proc_fs.h>
    #include <linux/profile.h>
    #include <linux/rmap.h>
    #include <linux/ksm.h>
    @@ -1378,6 +1379,8 @@ bad_fork_cleanup_io:
    if (p->io_context)
    exit_io_context(p);
    bad_fork_cleanup_namespaces:
    + if (unlikely(clone_flags & CLONE_NEWPID))
    + pid_ns_release_proc(p->nsproxy->pid_ns);
    exit_task_namespaces(p);
    bad_fork_cleanup_mm:
    if (p->mm) {



    \
     
     \ /
      Last update: 2012-05-19 02:21    [W:4.072 / U:0.232 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site