diff options
Diffstat (limited to 'kernel/exit.c')
-rw-r--r-- | kernel/exit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index fd38a8f04367..9babd47a36e2 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -492,7 +492,9 @@ static struct task_struct *find_new_reaper(struct task_struct *father) | |||
492 | 492 | ||
493 | zap_pid_ns_processes(pid_ns); | 493 | zap_pid_ns_processes(pid_ns); |
494 | write_lock_irq(&tasklist_lock); | 494 | write_lock_irq(&tasklist_lock); |
495 | } else if (father->signal->has_child_subreaper) { | 495 | } |
496 | |||
497 | if (father->signal->has_child_subreaper) { | ||
496 | struct task_struct *reaper; | 498 | struct task_struct *reaper; |
497 | 499 | ||
498 | /* | 500 | /* |
@@ -502,7 +504,7 @@ static struct task_struct *find_new_reaper(struct task_struct *father) | |||
502 | * PID namespace. However we still need the check above, see | 504 | * PID namespace. However we still need the check above, see |
503 | * http://marc.info/?l=linux-kernel&m=131385460420380 | 505 | * http://marc.info/?l=linux-kernel&m=131385460420380 |
504 | */ | 506 | */ |
505 | for (reaper = father->real_parent; | 507 | for (reaper = father; |
506 | reaper != &init_task; | 508 | reaper != &init_task; |
507 | reaper = reaper->real_parent) { | 509 | reaper = reaper->real_parent) { |
508 | if (same_thread_group(reaper, pid_ns->child_reaper)) | 510 | if (same_thread_group(reaper, pid_ns->child_reaper)) |