• Oleg Nesterov's avatar
    exit: pidns: fix/update the comments in zap_pid_ns_processes() · a53b8315
    Oleg Nesterov authored
    The comments in zap_pid_ns_processes() are not clear, we need to explain
    how this code actually works.
    
    1. "Ignore SIGCHLD" looks like optimization but it is not, we also
       need this for correctness.
    
    2. The comment above sys_wait4() could tell more.
    
       EXIT_ZOMBIE child is only possible if it has exited before we
       ignored SIGCHLD. Or if it is traced from the parent namespace,
       but in this case it will be reaped by debugger after detach,
       sys_wait4() acts as a synchronization point.
    
    3. The comment about TASK_DEAD (EXIT_DEAD in fact) children is
       outdated. Contrary to what it says we do not need to make sure
       they all go away after 0a01f2cc "pidns: Make the pidns proc
       mount/umount logic obvious".
    
       At the same time, we do need to wait for nr_hashed==init_pids,
       but the reasons are quite different and not obvious: setns().
    Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
    Cc: "Eric W. Biederman" <ebiederm@xmission.com>
    Cc: Aaron Tomlin <atomlin@redhat.com>
    Cc: Pavel Emelyanov <xemul@parallels.com>
    Cc: Serge Hallyn <serge.hallyn@ubuntu.com>
    Cc: Sterling Alexander <stalexan@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a53b8315
pid_namespace.c 9.93 KB