diff --git a/[refs] b/[refs] index 8069effec731..7a08272d4542 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3208450488ae724196f1efffc457e4265957c04e +refs/heads/master: 00c10bc13cdb58447d6bb2a003afad7bd60f5a5f diff --git a/trunk/kernel/pid_namespace.c b/trunk/kernel/pid_namespace.c index 57bc1fd35b3c..fd3c44986191 100644 --- a/trunk/kernel/pid_namespace.c +++ b/trunk/kernel/pid_namespace.c @@ -149,7 +149,12 @@ void zap_pid_ns_processes(struct pid_namespace *pid_ns) { int nr; int rc; - struct task_struct *task; + struct task_struct *task, *me = current; + + /* Ignore SIGCHLD causing any terminated children to autoreap */ + spin_lock_irq(&me->sighand->siglock); + me->sighand->action[SIGCHLD - 1].sa.sa_handler = SIG_IGN; + spin_unlock_irq(&me->sighand->siglock); /* * The last thread in the cgroup-init thread group is terminating.