Re: [PATCH v7] function_graph: Enable funcgraph-args and funcgraph-retaddr to work simultaneously
From: Steven Rostedt
Date: Mon Nov 24 2025 - 16:57:06 EST
On Mon, 24 Nov 2025 16:47:01 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> > --- a/kernel/trace/trace_entries.h
> > +++ b/kernel/trace/trace_entries.h
> > @@ -95,14 +95,14 @@ FTRACE_ENTRY_PACKED(fgraph_retaddr_entry, fgraph_retaddr_ent_entry,
> > TRACE_GRAPH_RETADDR_ENT,
> >
> > F_STRUCT(
> > - __field_struct( struct fgraph_retaddr_ent, graph_ent )
> > + __field_struct( struct ftrace_graph_ent, graph_ent )
> > __field_packed( unsigned long, graph_ent, func )
> > __field_packed( unsigned int, graph_ent, depth )
> > - __field_packed( unsigned long, graph_ent, retaddr )
>
> You can't delete the retaddr without breaking user space.
>
> Please keep that here.
I added this, and user space works again:
diff --git a/kernel/trace/trace_entries.h b/kernel/trace/trace_entries.h
index 593a74663c65..4666b6179056 100644
--- a/kernel/trace/trace_entries.h
+++ b/kernel/trace/trace_entries.h
@@ -98,6 +98,7 @@ FTRACE_ENTRY_PACKED(fgraph_retaddr_entry, fgraph_retaddr_ent_entry,
__field_struct( struct ftrace_graph_ent, graph_ent )
__field_packed( unsigned long, graph_ent, func )
__field_packed( unsigned int, graph_ent, depth )
+ __field_packed( unsigned long, graph_ent, retaddr )
__dynamic_array(unsigned long, args )
),
-- Steve