Re: [PATCH] fgraph: Fix missing unlock in register_ftrace_graph()
From: Li Huafei <hidden>
Date: 2024-10-24 02:45:50
Also in:
lkml, oe-kbuild
Hi Steve, On 2024/10/23 17:29, Steven Rostedt wrote:
On Thu, 24 Oct 2024 01:04:48 +0800 Li Huafei [off-list ref] wrote:quoted
Instead of returning an error, goto the mutex unlock at the end of the function. Fixes smatch warning: kernel/trace/fgraph.c:1317 register_ftrace_graph() warn: inconsistent returns '&ftrace_lock'. Fixes: 2c02f7375e65 ("fgraph: Use CPU hotplug mechanism to initialize idle shadow stacks") Reported-by: kernel test robot <redacted> Reported-by: Dan Carpenter <redacted> Closes: https://lore.kernel.org/r/202410220121.wxg0olfd-lkp@intel.com/ (local) Signed-off-by: Li Huafei <redacted> --- 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 41e7a15dcb50..98fa7b2a4903 100644 --- a/kernel/trace/fgraph.c +++ b/kernel/trace/fgraph.c@@ -1259,7 +1259,7 @@ int register_ftrace_graph(struct fgraph_ops *gops) fgraph_cpu_init, NULL); if (ret < 0) { pr_warn("fgraph: Error to init cpu hotplug support\n"); - return ret; + goto out; } fgraph_initialized = true; ret = 0;Actually, I'm thinking we just should use guard(mutex)(&ftrace_lock);
Agreed, this will make the code simpler and avoid mistakes. If we need to replace all mutex(&ftrace_lock), would it be better to submit another cleanup patch? We can fix the issue here first. Thanks, Huafei
-- Steve .