kernel/trace/fgraph.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
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
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;
> /*
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
© 2016 - 2026 Red Hat, Inc.