riscv: ftrace: correct the condition logic in function graph tracer
authorZong Li <zong.li@sifive.com>
Mon, 23 Dec 2019 08:46:13 +0000 (16:46 +0800)
committerPaul Walmsley <paul.walmsley@sifive.com>
Fri, 3 Jan 2020 08:56:37 +0000 (00:56 -0800)
The condition should be logical NOT to assign the hook address to parent
address. Because the return value 0 of function_graph_enter upon
success.

Fixes: e949b6db51dc (riscv/function_graph: Simplify with function_graph_enter())
Signed-off-by: Zong Li <zong.li@sifive.com>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: stable@vger.kernel.org
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
arch/riscv/kernel/ftrace.c

index b94d8db..c40fdcd 100644 (file)
@@ -142,7 +142,7 @@ void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr,
         */
        old = *parent;
 
-       if (function_graph_enter(old, self_addr, frame_pointer, parent))
+       if (!function_graph_enter(old, self_addr, frame_pointer, parent))
                *parent = return_hooker;
 }