From: Oleg Nesterov Date: Mon, 21 Jan 2013 19:48:17 +0000 (+0100) Subject: wake_up_process() should be never used to wakeup a TASK_STOPPED/TRACED task X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=9067ac85d533;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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: Oleg Nesterov Signed-off-by: Linus Torvalds --- diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 257002c13bb0..26058d0bebba 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1523,7 +1523,8 @@ out: */ 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);