Re: [PATCH] fgraph: Fix missing unlock in register_ftrace_graph()

From: Steven Rostedt
Date: Wed Oct 23 2024 - 05:30:01 EST


On Thu, 24 Oct 2024 01:04:48 +0800
Li Huafei <lihuafei1@xxxxxxxxxx> wrote:

> 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 <lkp@xxxxxxxxx>
> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Closes: https://lore.kernel.org/r/202410220121.wxg0olfd-lkp@xxxxxxxxx/
> Signed-off-by: Li Huafei <lihuafei1@xxxxxxxxxx>
> ---
> 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);

-- Steve