diff mbox series

[v2] ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack

Message ID 20221213132407.1485025-1-ardb@kernel.org (mailing list archive)
State New, archived
Headers show
Series [v2] ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack | expand

Commit Message

Ard Biesheuvel Dec. 13, 2022, 1:24 p.m. UTC
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>
---
 arch/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Will Deacon Dec. 14, 2022, 3:59 p.m. UTC | #1
On Tue, 13 Dec 2022 14:24:07 +0100, Ard Biesheuvel wrote:
> 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.
> 
> [...]

Applied to arm64 (for-next/core), thanks!

[1/1] ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack
      https://git.kernel.org/arm64/c/38792972de42

Cheers,
diff mbox series

Patch

diff --git a/arch/Kconfig b/arch/Kconfig
index 2d0e7099eb3ffa21..b79c2de9ae5bda52 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -638,7 +638,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