From: Sukadev Bhattiprolu Only the global-init process must be special - any other cgroup-init process must be killable to prevent run-away processes in the system. TODO: Ideally we should allow killing the cgroup-init only from parent cgroup and prevent it being killed from within the cgroup. But that is a more complex change and will be addressed by a follow-on patch. For now allow the cgroup-init to be terminated by any process with sufficient privileges. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton --- kernel/signal.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff -puN kernel/signal.c~pid-namespaces-allow-signalling-cgroup-init kernel/signal.c --- a/kernel/signal.c~pid-namespaces-allow-signalling-cgroup-init +++ a/kernel/signal.c @@ -1837,11 +1837,9 @@ relock: continue; /* - * Init of a pid space gets no signals it doesn't want from - * within that pid space. It can of course get signals from - * its parent pid space. + * Global init gets no signals it doesn't want. */ - if (current == task_child_reaper(current)) + if (is_global_init(current)) continue; if (sig_kernel_stop(signr)) { _