diff options
author | Oleg Nesterov <oleg@redhat.com> | 2014-12-11 00:55:28 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-11 02:41:18 +0100 |
commit | a53b831549141aa060a8b54b76e3a42870d74cc0 (patch) | |
tree | 51296a9922f1658a7f4a0a2498b1d9ce9d92bb2b /include/rdma/ib_cache.h | |
parent | exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting (diff) | |
download | linux-a53b831549141aa060a8b54b76e3a42870d74cc0.tar.xz linux-a53b831549141aa060a8b54b76e3a42870d74cc0.zip |
exit: pidns: fix/update the comments in zap_pid_ns_processes()
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 0a01f2cc390e "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: Oleg 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/rdma/ib_cache.h')
0 files changed, 0 insertions, 0 deletions