Re: [PATCH] fgraph: Fix missing unlock in register_ftrace_graph()
From: Li Huafei
Date: Wed Oct 23 2024 - 22:46:01 EST
Hi Steve,
On 2024/10/23 17:29, Steven Rostedt wrote:
> 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);
>
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
>
> .
>