On Tue, 15 Jul 2025 20:19:44 -0700
Nathan Chancellor <[email protected]> wrote:

> After a recent change in clang to strengthen uninitialized warnings [1],
> it points out that in one of the error paths in parse_btf_arg(), params
> is used uninitialized:
> 
>   kernel/trace/trace_probe.c:660:19: warning: variable 'params' is 
> uninitialized when used here [-Wuninitialized]
>     660 |                         return PTR_ERR(params);
>         |                                        ^~~~~~
> 
> Match many other NO_BTF_ENTRY error cases and return -ENOENT, clearing
> up the warning.

Good catch! let me pick this up.

Thank you,


> 
> Cc: [email protected]
> Closes: https://github.com/ClangBuiltLinux/linux/issues/2110
> Fixes: d157d7694460 ("tracing/probes: Support BTF field access from $retval")
> Link: 
> https://github.com/llvm/llvm-project/commit/2464313eef01c5b1edf0eccf57a32cdee01472c7
>  [1]
> Signed-off-by: Nathan Chancellor <[email protected]>
> ---
>  kernel/trace/trace_probe.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index 424751cdf31f..40830a3ecd96 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -657,7 +657,7 @@ static int parse_btf_arg(char *varname,
>               ret = query_btf_context(ctx);
>               if (ret < 0 || ctx->nr_params == 0) {
>                       trace_probe_log_err(ctx->offset, NO_BTF_ENTRY);
> -                     return PTR_ERR(params);
> +                     return -ENOENT;
>               }
>       }
>       params = ctx->params;
> 
> ---
> base-commit: 6921d1e07cb5eddec830801087b419194fde0803
> change-id: 20250715-trace_probe-fix-const-uninit-warning-7dc3accce903
> 
> Best regards,
> --  
> Nathan Chancellor <[email protected]>
> 


-- 
Masami Hiramatsu (Google) <[email protected]>

Reply via email to