[PATCH] function_graph: remove unnecessary initialization in ftrace_graph_ret_addr()

Oleg Nesterov posted 1 patch 2 months, 2 weeks ago
There is a newer version of this series
kernel/trace/fgraph.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH] function_graph: remove unnecessary initialization in ftrace_graph_ret_addr()
Posted by Oleg Nesterov 2 months, 2 weeks ago
After the commit 29c1c24a2707 ("function_graph: Fix up ftrace_graph_ret_addr()")
ftrace_graph_ret_addr() doesn't need to initialize "int i" at the start.

While at it, move the declaration of "ret_stack" into the main loop.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
---
 kernel/trace/fgraph.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
index d7d4fb403f6f..d45a8bc97997 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -890,9 +890,8 @@ ftrace_graph_get_ret_stack(struct task_struct *task, int idx)
 unsigned long ftrace_graph_ret_addr(struct task_struct *task, int *idx,
 				    unsigned long ret, unsigned long *retp)
 {
-	struct ftrace_ret_stack *ret_stack;
 	unsigned long return_handler = (unsigned long)dereference_kernel_function_descriptor(return_to_handler);
-	int i = task->curr_ret_stack;
+	int i;
 
 	if (ret != return_handler)
 		return ret;
@@ -902,7 +901,7 @@ unsigned long ftrace_graph_ret_addr(struct task_struct *task, int *idx,
 
 	i = *idx ? : task->curr_ret_stack;
 	while (i > 0) {
-		ret_stack = get_ret_stack(task, i, &i);
+		struct ftrace_ret_stack *ret_stack = get_ret_stack(task, i, &i);
 		if (!ret_stack)
 			break;
 		/*
-- 
2.25.1.362.g51ebf55
Re: [PATCH] function_graph: remove unnecessary initialization in ftrace_graph_ret_addr()
Posted by Steven Rostedt 2 months, 2 weeks ago
On Mon, 16 Sep 2024 15:56:43 +0200
Oleg Nesterov <oleg@redhat.com> wrote:

> After the commit 29c1c24a2707 ("function_graph: Fix up ftrace_graph_ret_addr()")
> ftrace_graph_ret_addr() doesn't need to initialize "int i" at the start.
> 
> While at it, move the declaration of "ret_stack" into the main loop.

Should not make two changes like this, because it risks the entire
patch being denied.


> 
> Signed-off-by: Oleg Nesterov <oleg@redhat.com>
> ---
>  kernel/trace/fgraph.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c
> index d7d4fb403f6f..d45a8bc97997 100644
> --- a/kernel/trace/fgraph.c
> +++ b/kernel/trace/fgraph.c
> @@ -890,9 +890,8 @@ ftrace_graph_get_ret_stack(struct task_struct *task, int idx)
>  unsigned long ftrace_graph_ret_addr(struct task_struct *task, int *idx,
>  				    unsigned long ret, unsigned long *retp)
>  {
> -	struct ftrace_ret_stack *ret_stack;
>  	unsigned long return_handler = (unsigned long)dereference_kernel_function_descriptor(return_to_handler);
> -	int i = task->curr_ret_stack;
> +	int i;

I'm fine with removing the unneeded init of i.

>  
>  	if (ret != return_handler)
>  		return ret;
> @@ -902,7 +901,7 @@ unsigned long ftrace_graph_ret_addr(struct task_struct *task, int *idx,
>  
>  	i = *idx ? : task->curr_ret_stack;
>  	while (i > 0) {
> -		ret_stack = get_ret_stack(task, i, &i);
> +		struct ftrace_ret_stack *ret_stack = get_ret_stack(task, i, &i);

This is just a preference. Sometimes I like the declaration up on top,
sometimes in the block it used. But this case, I wont it at top.

Please make a v2 with just the change to i.

-- Steve


>  		if (!ret_stack)
>  			break;
>  		/*
[PATCH v2] function_graph: remove unnecessary initialization in ftrace_graph_ret_addr()
Posted by Oleg Nesterov 2 months, 1 week ago
After the commit 29c1c24a2707 ("function_graph: Fix up ftrace_graph_ret_addr()")
ftrace_graph_ret_addr() doesn't need to initialize "int i" at the start.

Signed-off-by: Oleg Nesterov <oleg@redhat.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 d7d4fb403f6f..45c02bf18304 100644
--- a/kernel/trace/fgraph.c
+++ b/kernel/trace/fgraph.c
@@ -892,7 +892,7 @@ unsigned long ftrace_graph_ret_addr(struct task_struct *task, int *idx,
 {
 	struct ftrace_ret_stack *ret_stack;
 	unsigned long return_handler = (unsigned long)dereference_kernel_function_descriptor(return_to_handler);
-	int i = task->curr_ret_stack;
+	int i;
 
 	if (ret != return_handler)
 		return ret;
-- 
2.25.1.362.g51ebf55