Hi,

On Sat, 02 May 2026 15:57:42 +0200, Martin Kaiser <[email protected]> wrote:
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -1747,7 +1746,7 @@ const char **traceprobe_expand_meta_args(int argc, 
> const char *argv[],
>               if (args_idx != -1) {
>                       /* $arg* requires BTF info */
>                       trace_probe_log_err(0, NOSUP_BTFARG);
> +                     return NULL;

Returning NULL here causes traceprobe_expand_meta_args() to treat this as
success (no expansion needed), leaving *new_argc uninitialized and passing
the unexpanded "$arg*" to subsequent argument parsing (which later fails
with a confusing error).

We should return an error here rather than NULL.

Specifically, returning ERR_PTR(-EOPNOTSUPP) is the right fix, which also
eliminates the need for the params variable.

This is a bug, introduced by commit d157d7694460 ("tracing/probes: Support
BTF field access from $retval").

Can you update to fix this bug?

Thank you,

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

Reply via email to