]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fgraph: Separate size of ret_stack from PAGE_SIZE
authorSteven Rostedt <rostedt@goodmis.org>
Sat, 19 Oct 2024 19:29:51 +0000 (15:29 -0400)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 29 Oct 2024 11:43:01 +0000 (07:43 -0400)
The ret_stack (shadow stack used by function graph infrastructure) is
currently defined as PAGE_SIZE. But some architectures which have 64K
PAGE_SIZE, this is way overkill. Also there's an effort to allow the
PAGE_SIZE to be defined at boot up.

Hard code it for now to 4096. In the future, this size may change and even
be dependent on specific architectures.

Link: https://lore.kernel.org/all/e5067bb8-0fcd-4739-9bca-0e872037d5a1@arm.com/
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/20241019152951.053f9646@rorschach.local.home
Suggested-by: Ryan Roberts <ryan.roberts@arm.com>
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/fgraph.c

index 13fcc25d15a0ba381fa097343d38eec3f2626e96..4ce87982966a7440b5da3fbf01d2ee28070b6b9e 100644 (file)
@@ -153,7 +153,7 @@ enum {
  * SHADOW_STACK_OFFSET:        The size in long words of the shadow stack
  * SHADOW_STACK_MAX_OFFSET: The max offset of the stack for a new frame to be added
  */
-#define SHADOW_STACK_SIZE      (PAGE_SIZE)
+#define SHADOW_STACK_SIZE      (4096)
 #define SHADOW_STACK_OFFSET    (SHADOW_STACK_SIZE / sizeof(long))
 /* Leave on a buffer at the end */
 #define SHADOW_STACK_MAX_OFFSET                                \