]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
sched: Add wrapper for get_wchan() to keep task blocked
authorKees Cook <keescook@chromium.org>
Wed, 29 Sep 2021 22:02:14 +0000 (15:02 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Nov 2021 10:04:16 +0000 (11:04 +0100)
commite9ede14c116f1a6246eee89d320d60a90a86b5d5
treef63d77d881844fde4fceb3ae6e6626e41d57026c
parent38bdcbf9828f11f6ae8b55a9431b4349655f2c09
sched: Add wrapper for get_wchan() to keep task blocked

[ Upstream commit 42a20f86dc19f9282d974df0ba4d226c865ab9dd ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
50 files changed:
arch/alpha/include/asm/processor.h
arch/alpha/kernel/process.c
arch/arc/include/asm/processor.h
arch/arc/kernel/stacktrace.c
arch/arm/include/asm/processor.h
arch/arm/kernel/process.c
arch/arm64/include/asm/processor.h
arch/arm64/kernel/process.c
arch/csky/include/asm/processor.h
arch/csky/kernel/stacktrace.c
arch/h8300/include/asm/processor.h
arch/h8300/kernel/process.c
arch/hexagon/include/asm/processor.h
arch/hexagon/kernel/process.c
arch/ia64/include/asm/processor.h
arch/ia64/kernel/process.c
arch/m68k/include/asm/processor.h
arch/m68k/kernel/process.c
arch/microblaze/include/asm/processor.h
arch/microblaze/kernel/process.c
arch/mips/include/asm/processor.h
arch/mips/kernel/process.c
arch/nds32/include/asm/processor.h
arch/nds32/kernel/process.c
arch/nios2/include/asm/processor.h
arch/nios2/kernel/process.c
arch/openrisc/include/asm/processor.h
arch/openrisc/kernel/process.c
arch/parisc/include/asm/processor.h
arch/parisc/kernel/process.c
arch/powerpc/include/asm/processor.h
arch/powerpc/kernel/process.c
arch/riscv/include/asm/processor.h
arch/riscv/kernel/stacktrace.c
arch/s390/include/asm/processor.h
arch/s390/kernel/process.c
arch/sh/include/asm/processor_32.h
arch/sh/kernel/process_32.c
arch/sparc/include/asm/processor_32.h
arch/sparc/include/asm/processor_64.h
arch/sparc/kernel/process_32.c
arch/sparc/kernel/process_64.c
arch/um/include/asm/processor-generic.h
arch/um/kernel/process.c
arch/x86/include/asm/processor.h
arch/x86/kernel/process.c
arch/xtensa/include/asm/processor.h
arch/xtensa/kernel/process.c
include/linux/sched.h
kernel/sched/core.c