projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c35a7f1
)
exit: reparent: fix the dead-parent PR_SET_CHILD_SUBREAPER reparenting
author
Oleg Nesterov
<
[email protected]
>
Wed, 10 Dec 2014 23:54:59 +0000
(15:54 -0800)
committer
Linus Torvalds
<
[email protected]
>
Thu, 11 Dec 2014 01:41:17 +0000
(17:41 -0800)
The ->has_child_subreaper code in find_new_reaper() finds alive "thread"
but returns another "reaper" thread which can be dead.
Signed-off-by: Oleg Nesterov <
[email protected]
>
Cc: Aaron Tomlin <
[email protected]
>
Cc: "Eric W. Biederman" <
[email protected]
>
Cc: Kay Sievers <
[email protected]
>
Cc: Lennart Poettering <
[email protected]
>
Cc: Sterling Alexander <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
kernel/exit.c
patch
|
blob
|
history
diff --git
a/kernel/exit.c
b/kernel/exit.c
index 9a65f10dc9ff582e9e2232008efbd69427cdabef..fd38a8f0436729eeb7f84108f2e78dfbabaeabb3 100644
(file)
--- a/
kernel/exit.c
+++ b/
kernel/exit.c
@@
-512,7
+512,7
@@
static struct task_struct *find_new_reaper(struct task_struct *father)
thread = reaper;
do {
if (!(thread->flags & PF_EXITING))
- return
reaper
;
+ return
thread
;
} while_each_thread(reaper, thread);
}
}