[PATCH] function_graph: Fix missing FGRAPH_ENTRY_ARGS() call in print_graph_retval()

Donglin Peng posted 1 patch 3 weeks, 6 days ago
kernel/trace/trace_functions_graph.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] function_graph: Fix missing FGRAPH_ENTRY_ARGS() call in print_graph_retval()
Posted by Donglin Peng 3 weeks, 6 days ago
From: Donglin Peng <pengdonglin@xiaomi.com>

Call FGRAPH_ENTRY_ARGS(entry) to retrieve the correct arguments pointer
when displaying function parameters in print_graph_retval().

Fixes: f83ac7544fbf ("function_graph: Enable funcgraph-args and funcgraph-retaddr to work simultaneously")
Signed-off-by: Donglin Peng <pengdonglin@xiaomi.com>
---
 kernel/trace/trace_functions_graph.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
index b1e9c9913309..1de6f1573621 100644
--- a/kernel/trace/trace_functions_graph.c
+++ b/kernel/trace/trace_functions_graph.c
@@ -901,7 +901,7 @@ static void print_graph_retval(struct trace_seq *s, struct ftrace_graph_ent_entr
 		trace_seq_printf(s, "%ps", func);
 
 		if (args_size >= FTRACE_REGS_MAX_ARGS * sizeof(long)) {
-			print_function_args(s, entry->args, (unsigned long)func);
+			print_function_args(s, FGRAPH_ENTRY_ARGS(entry), (unsigned long)func);
 			trace_seq_putc(s, ';');
 		} else
 			trace_seq_puts(s, "();");
-- 
2.34.1
Re: [PATCH] function_graph: Fix missing FGRAPH_ENTRY_ARGS() call in print_graph_retval()
Posted by Masami Hiramatsu (Google) 3 weeks, 4 days ago
On Sun, 11 Jan 2026 22:33:18 +0800
Donglin Peng <dolinux.peng@gmail.com> wrote:

> From: Donglin Peng <pengdonglin@xiaomi.com>
> 
> Call FGRAPH_ENTRY_ARGS(entry) to retrieve the correct arguments pointer
> when displaying function parameters in print_graph_retval().
> 
> Fixes: f83ac7544fbf ("function_graph: Enable funcgraph-args and funcgraph-retaddr to work simultaneously")
> Signed-off-by: Donglin Peng <pengdonglin@xiaomi.com>

Looks good to me. (other print_function_args() using this macro)

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks!

> ---
>  kernel/trace/trace_functions_graph.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c
> index b1e9c9913309..1de6f1573621 100644
> --- a/kernel/trace/trace_functions_graph.c
> +++ b/kernel/trace/trace_functions_graph.c
> @@ -901,7 +901,7 @@ static void print_graph_retval(struct trace_seq *s, struct ftrace_graph_ent_entr
>  		trace_seq_printf(s, "%ps", func);
>  
>  		if (args_size >= FTRACE_REGS_MAX_ARGS * sizeof(long)) {
> -			print_function_args(s, entry->args, (unsigned long)func);
> +			print_function_args(s, FGRAPH_ENTRY_ARGS(entry), (unsigned long)func);
>  			trace_seq_putc(s, ';');
>  		} else
>  			trace_seq_puts(s, "();");
> -- 
> 2.34.1
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>