mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 03:23:53 -04:00
sched: Add wrapper for get_wchan() to keep task blocked
Having a stable wchan means the process must be blocked and for it to stay that way while performing stack unwinding. Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> [arm] Tested-by: Mark Rutland <mark.rutland@arm.com> [arm64] Link: https://lkml.kernel.org/r/20211008111626.332092234@infradead.org
This commit is contained in:
committed by
Peter Zijlstra
parent
bc9bbb8173
commit
42a20f86dc
@@ -663,7 +663,7 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
|
||||
return 0;
|
||||
}
|
||||
|
||||
unsigned long get_wchan(struct task_struct *task)
|
||||
unsigned long __get_wchan(struct task_struct *task)
|
||||
{
|
||||
unsigned long pc, fp, bias = 0;
|
||||
struct thread_info *tp;
|
||||
@@ -671,9 +671,6 @@ unsigned long get_wchan(struct task_struct *task)
|
||||
unsigned long ret = 0;
|
||||
int count = 0;
|
||||
|
||||
if (!task || task == current || task_is_running(task))
|
||||
goto out;
|
||||
|
||||
tp = task_thread_info(task);
|
||||
bias = STACK_BIAS;
|
||||
fp = task_thread_info(task)->ksp + bias;
|
||||
|
||||
Reference in New Issue
Block a user