From 9b58564fc5baa02e68686ce3f414197f17871c5a Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Mon, 12 Jul 2010 17:10:36 -0700 Subject: [PATCH] --- yaml --- r: 346313 b: refs/heads/master c: 1c4042c29bd2e85aac4110552ca8ade763762e84 h: refs/heads/master i: 346311: af94264aafa2cea38dc7c4771ee9d903c4e2561c v: v3 --- [refs] | 2 +- trunk/init/main.c | 1 - trunk/kernel/fork.c | 6 +++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c6742910b65d..179c60a7b026 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 57e8391d327609cbf12d843259c968b9e5c1838f +refs/heads/master: 1c4042c29bd2e85aac4110552ca8ade763762e84 diff --git a/trunk/init/main.c b/trunk/init/main.c index 9cf77ab138a6..317750a18f74 100644 --- a/trunk/init/main.c +++ b/trunk/init/main.c @@ -810,7 +810,6 @@ static int __ref kernel_init(void *unused) system_state = SYSTEM_RUNNING; numa_default_policy(); - current->signal->flags |= SIGNAL_UNKILLABLE; flush_delayed_fput(); if (ramdisk_execute_command) { diff --git a/trunk/kernel/fork.c b/trunk/kernel/fork.c index 666dc8b06606..0f2bbce311fc 100644 --- a/trunk/kernel/fork.c +++ b/trunk/kernel/fork.c @@ -1039,8 +1039,6 @@ static int copy_signal(unsigned long clone_flags, struct task_struct *tsk) atomic_set(&sig->live, 1); atomic_set(&sig->sigcnt, 1); init_waitqueue_head(&sig->wait_chldexit); - if (clone_flags & CLONE_NEWPID) - sig->flags |= SIGNAL_UNKILLABLE; sig->curr_target = tsk; init_sigpending(&sig->shared_pending); INIT_LIST_HEAD(&sig->posix_timers); @@ -1441,8 +1439,10 @@ static struct task_struct *copy_process(unsigned long clone_flags, ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace); if (thread_group_leader(p)) { - if (is_child_reaper(pid)) + if (is_child_reaper(pid)) { ns_of_pid(pid)->child_reaper = p; + p->signal->flags |= SIGNAL_UNKILLABLE; + } p->signal->leader_pid = pid; p->signal->tty = tty_kref_get(current->signal->tty);