• Eric W. Biederman's avatar
    pidns: Stop pid allocation when init dies · c876ad76
    Eric W. Biederman authored
    Oleg pointed out that in a pid namespace the sequence.
    - pid 1 becomes a zombie
    - setns(thepidns), fork,...
    - reaping pid 1.
    - The injected processes exiting.
    
    Can lead to processes attempting access their child reaper and
    instead following a stale pointer.
    
    That waitpid for init can return before all of the processes in
    the pid namespace have exited is also unfortunate.
    
    Avoid these problems by disabling the allocation of new pids in a pid
    namespace when init dies, instead of when the last process in a pid
    namespace is reaped.
    Pointed-out-by: default avatarOleg Nesterov <oleg@redhat.com>
    Reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
    Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
    c876ad76
pid.c 14.8 KB