kernel/trace/fgraph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Steven Rostedt <rostedt@goodmis.org>
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/
Suggested-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
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 \
--
2.45.2
On Sat, 19 Oct 2024 15:29:51 -0400 Steven Rostedt <rostedt@goodmis.org> wrote: > From: Steven Rostedt <rostedt@goodmis.org> > > 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/ > Looks good to me. Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Thanks! > Suggested-by: Ryan Roberts <ryan.roberts@arm.com> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> > --- > 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 \ > -- > 2.45.2 > -- Masami Hiramatsu (Google) <mhiramat@kernel.org>
On 19/10/2024 20:29, Steven Rostedt wrote: > From: Steven Rostedt <rostedt@goodmis.org> > > 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/ > > Suggested-by: Ryan Roberts <ryan.roberts@arm.com> > Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> LGTM! Reviewed-by: Ryan Roberts <ryan.roberts@arm.com> > --- > 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 \
© 2016 - 2024 Red Hat, Inc.