ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
authorArd Biesheuvel <ardb@kernel.org>
Tue, 13 Dec 2022 13:24:07 +0000 (14:24 +0100)
committerWill Deacon <will@kernel.org>
Wed, 14 Dec 2022 15:32:46 +0000 (15:32 +0000)
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>
arch/Kconfig

index 072a1b39e3afd0d112bc00d807910cf1057107e9..c93c004fcf7ac9b03bcfed35a0b712dc43e3a18e 100644 (file)
@@ -635,7 +635,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