Re: [PATCH] fgraph: Separate size of ret_stack from PAGE_SIZE

From: Ryan Roberts
Date: Mon Oct 21 2024 - 04:01:45 EST


On 19/10/2024 20:29, Steven Rostedt wrote:
> From: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> 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@xxxxxxx/
>
> Suggested-by: Ryan Roberts <ryan.roberts@xxxxxxx>
> Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>

LGTM!

Reviewed-by: Ryan Roberts <ryan.roberts@xxxxxxx>

> ---
> kernel/trace/fgraph.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
> index ee829d65f301..51e81b299a0d 100644
> --- a/kernel/trace/fgraph.c
> +++ b/kernel/trace/fgraph.c
> @@ -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 \