summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2022-12-13 14:24:07 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-31 13:26:31 +0100
commit0f04a3f56c795d74d59736e4d30ff7badd304cb5 (patch)
tree990fad6986a570d9602bd953500aeb6460af2f61 /arch
parenta4abe5e2e7b804e9d972121e547cc9c4ff0e2894 (diff)
downloadlinux-0f04a3f56c795d74d59736e4d30ff7badd304cb5.tar.gz
linux-0f04a3f56c795d74d59736e4d30ff7badd304cb5.tar.bz2
linux-0f04a3f56c795d74d59736e4d30ff7badd304cb5.zip
ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
[ Upstream commit 38792972de4294163f44d6360fd221e6f2c22a05 ] The recent switch on arm64 from DYNAMIC_FTRACE_WITH_REGS to DYNAMIC_FTRACE_WITH_ARGS failed to take into account that we currently require the former in order to allow the function graph tracer to be enabled in combination with shadow call stacks. This means that this is no longer permitted at all, in spite of the fact that either flavour of ftrace works perfectly fine in this combination. So permit WITH_ARGS as well as WITH_REGS. Fixes: ddc9863e9e90 ("scs: Disable when function graph tracing is enabled") Acked-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20221213132407.1485025-1-ardb@kernel.org Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 8b311e400ec1..732a4680e733 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -629,7 +629,7 @@ config ARCH_SUPPORTS_SHADOW_CALL_STACK
config SHADOW_CALL_STACK
bool "Shadow Call Stack"
depends on ARCH_SUPPORTS_SHADOW_CALL_STACK
- depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
+ depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER
help
This option enables the compiler's Shadow Call Stack, which
uses a shadow stack to protect function return addresses from