Commit 9067ac85 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds

wake_up_process() should be never used to wakeup a TASK_STOPPED/TRACED task

wake_up_process() should never wakeup a TASK_STOPPED/TRACED task.
Change it to use TASK_NORMAL and add the WARN_ON().

TASK_ALL has no other users, probably can be killed.
Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 9899d11f
...@@ -1523,7 +1523,8 @@ static void try_to_wake_up_local(struct task_struct *p) ...@@ -1523,7 +1523,8 @@ static void try_to_wake_up_local(struct task_struct *p)
*/ */
int wake_up_process(struct task_struct *p) int wake_up_process(struct task_struct *p)
{ {
return try_to_wake_up(p, TASK_ALL, 0); WARN_ON(task_is_stopped_or_traced(p));
return try_to_wake_up(p, TASK_NORMAL, 0);
} }
EXPORT_SYMBOL(wake_up_process); EXPORT_SYMBOL(wake_up_process);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment