Re: [PATCH v8 01/10] tracing/probes: Make the $ prefix mandatory for comm access
From: Google
Date: Wed Jun 24 2026 - 19:33:48 EST
On Wed, 24 Jun 2026 23:41:37 +0900
"Masami Hiramatsu (Google)" <mhiramat@xxxxxxxxxx> wrote:
> From: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> Since $comm or $COMM are not event field but special fetcharg
> variables to access current->comm, It should not be accessed
> without '$' prefix even with typecast.
>
Let me pick this to probes/core.
Thanks,
> Fixes: 69efd863a785 ("tracing/eprobes: Allow use of BTF names to dereference pointers")
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
> ---
> Changes in v8:
> - Newly added.
> ---
> kernel/trace/trace_probe.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index c10bbb0df7b9..0da7c0b53ba7 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -342,10 +342,6 @@ static int parse_trace_event(char *arg, struct fetch_insn *code,
> ret = parse_trace_event_arg(arg, code, ctx);
> if (!ret)
> return 0;
> - if (strcmp(arg, "comm") == 0 || strcmp(arg, "COMM") == 0) {
> - code->op = FETCH_OP_COMM;
> - return 0;
> - }
> return -EINVAL;
> }
>
> @@ -1065,8 +1061,14 @@ static int parse_probe_vars(char *orig_arg, const struct fetch_type *t,
> int len;
>
> if (ctx->flags & TPARG_FL_TEVENT) {
> - if (parse_trace_event(arg, code, ctx) < 0)
> + if (parse_trace_event(arg, code, ctx) < 0) {
> + /* 'comm' should be checked after field parsing. */
> + if (strcmp(arg, "comm") == 0 || strcmp(arg, "COMM") == 0) {
> + code->op = FETCH_OP_COMM;
> + return 0;
> + }
> goto inval;
> + }
> return 0;
> }
>
>
--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>