On Tue, 23 Jun 2026 15:29:32 +0200 Martin Kaiser <[email protected]> wrote:
> We can pass NULL as id pointer to btf_type_skip_modifiers if we do not > need the id of the returned btf_type. > Good catch! Let me pick it to probes/core. Thanks, > Signed-off-by: Martin Kaiser <[email protected]> > --- > kernel/trace/trace_probe.c | 13 +++++-------- > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c > index 9b3219e755cb..78bca283763f 100644 > --- a/kernel/trace/trace_probe.c > +++ b/kernel/trace/trace_probe.c > @@ -360,9 +360,8 @@ static bool btf_type_is_char_ptr(struct btf *btf, const > struct btf_type *type) > { > const struct btf_type *real_type; > u32 intdata; > - s32 tid; > > - real_type = btf_type_skip_modifiers(btf, type->type, &tid); > + real_type = btf_type_skip_modifiers(btf, type->type, NULL); > if (!real_type) > return false; > > @@ -379,14 +378,13 @@ static bool btf_type_is_char_array(struct btf *btf, > const struct btf_type *type) > const struct btf_type *real_type; > const struct btf_array *array; > u32 intdata; > - s32 tid; > > if (BTF_INFO_KIND(type->info) != BTF_KIND_ARRAY) > return false; > > array = (const struct btf_array *)(type + 1); > > - real_type = btf_type_skip_modifiers(btf, array->type, &tid); > + real_type = btf_type_skip_modifiers(btf, array->type, NULL); > > intdata = btf_type_int(real_type); > return !(BTF_INT_ENCODING(intdata) & BTF_INT_SIGNED) > @@ -589,7 +587,6 @@ static int parse_btf_field(char *fieldname, const struct > btf_type *type, > struct btf *btf = ctx_btf(ctx); > char *next; > int is_ptr; > - s32 tid; > > do { > if (!is_struct) { > @@ -600,7 +597,7 @@ static int parse_btf_field(char *fieldname, const struct > btf_type *type, > } > > /* Convert a struct pointer type to a struct type */ > - type = btf_type_skip_modifiers(btf, type->type, &tid); > + type = btf_type_skip_modifiers(btf, type->type, NULL); > if (!type) { > trace_probe_log_err(ctx->offset, BAD_BTF_TID); > return -EINVAL; > @@ -640,7 +637,7 @@ static int parse_btf_field(char *fieldname, const struct > btf_type *type, > ctx->last_bitsize = 0; > } > > - type = btf_type_skip_modifiers(btf, field->type, &tid); > + type = btf_type_skip_modifiers(btf, field->type, NULL); > if (!type) { > trace_probe_log_err(ctx->offset, BAD_BTF_TID); > return -EINVAL; > @@ -759,7 +756,7 @@ static int parse_btf_arg(char *varname, > return -ENOENT; > > found: > - type = btf_type_skip_modifiers(ctx->btf, tid, &tid); > + type = btf_type_skip_modifiers(ctx->btf, tid, NULL); > found_type: > if (!type) { > trace_probe_log_err(ctx->offset, BAD_BTF_TID); > -- > 2.43.7 > -- Masami Hiramatsu (Google) <[email protected]>
