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
@@ -15,7 +15,7 @@
|
||||
* = specifics of data structs where trace is saved(CONFIG_STACKTRACE etc)
|
||||
*
|
||||
* vineetg: March 2009
|
||||
* -Implemented correct versions of thread_saved_pc() and get_wchan()
|
||||
* -Implemented correct versions of thread_saved_pc() and __get_wchan()
|
||||
*
|
||||
* rajeshwarr: 2008
|
||||
* -Initial implementation
|
||||
@@ -248,7 +248,7 @@ void show_stack(struct task_struct *tsk, unsigned long *sp, const char *loglvl)
|
||||
* Of course just returning schedule( ) would be pointless so unwind until
|
||||
* the function is not in schedular code
|
||||
*/
|
||||
unsigned int get_wchan(struct task_struct *tsk)
|
||||
unsigned int __get_wchan(struct task_struct *tsk)
|
||||
{
|
||||
return arc_unwind_core(tsk, NULL, __get_first_nonsched, NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user