On Fri, Feb 20, 2026 at 10:57:58AM +0000, [email protected] wrote:
> > diff --git a/include/linux/bpf_types.h b/include/linux/bpf_types.h
> > --- a/include/linux/bpf_types.h
> > +++ b/include/linux/bpf_types.h
> 
> [ ... ]
> 
> > +BPF_LINK_TYPE(BPF_LINK_TYPE_TRACING_MULTI, tracing)
> 
> The existing BPF_LINK_TYPE_TRACING also uses "tracing" as its name
> argument:
> 
>     BPF_LINK_TYPE(BPF_LINK_TYPE_TRACING, tracing)
> 
> This means bpf_link_type_strs[] will contain "tracing" for both
> BPF_LINK_TYPE_TRACING and BPF_LINK_TYPE_TRACING_MULTI, making them
> indistinguishable in fdinfo output via bpf_link_show_fdinfo().
> 
> The libbpf side correctly uses "tracing_multi":
> 
>     [BPF_LINK_TYPE_TRACING_MULTI] = "tracing_multi",
> 
> Should this be BPF_LINK_TYPE(BPF_LINK_TYPE_TRACING_MULTI, tracing_multi)
> to match?

it should, fixed

> 
> > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c
> > --- a/kernel/trace/bpf_trace.c
> > +++ b/kernel/trace/bpf_trace.c
> 
> [ ... ]
> 
> > +int bpf_tracing_multi_attach(struct bpf_prog *prog, const union bpf_attr 
> > *attr)
> > +{
> 
> [ ... ]
> 
> > +   ids = kvmalloc_array(cnt, sizeof(*ids), GFP_KERNEL);
> 
> [ ... ]
> 
> > +   link = kzalloc(struct_size(link, nodes, cnt), GFP_KERNEL);
>                 ^^^^^^
> 
> The ids array above uses kvmalloc_array() to handle large allocations,
> but the link struct uses kzalloc(). With MAX_TRACING_MULTI_CNT at 1M
> and each bpf_tracing_multi_node being roughly 40 bytes,
> struct_size() can request up to ~40MB of contiguous memory. kzalloc()
> is limited to KMALLOC_MAX_SIZE (~4MB on x86_64), so this will fail
> for cnt values above roughly 100K.
> 
> Would kvzalloc() work here instead? bpf_tracing_multi_link_dealloc()
> would need to use kvfree() accordingly:
> 
> > +static void bpf_tracing_multi_link_dealloc(struct bpf_link *link)
> > +{
> > +   struct bpf_tracing_multi_link *tr_link =
> > +           container_of(link, struct bpf_tracing_multi_link, link);
> > +
> > +   kfree(tr_link);

yes, makes sense, will fix, thnx

jirka

Reply via email to