From eb220fb642f871eba6fecb43765026478903aecd Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Thu, 31 May 2012 16:26:40 -0700 Subject: [PATCH] --- yaml --- r: 309772 b: refs/heads/master c: 00c10bc13cdb58447d6bb2a003afad7bd60f5a5f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/pid_namespace.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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.