Re: [PATCH perf/core 04/11] bpf: Add support to attach uprobe_multi unique uprobe
From: Jiri Olsa
Date: Wed Sep 03 2025 - 02:36:04 EST
On Tue, Sep 02, 2025 at 09:11:22AM -0700, Alexei Starovoitov wrote:
> On Tue, Sep 2, 2025 at 7:38 AM Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> >
> > Adding support to attach unique uprobe through uprobe multi link
> > interface.
> >
> > Adding new BPF_F_UPROBE_MULTI_UNIQUE flag that denotes the unique
> > uprobe creation.
> >
> > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > ---
> > include/uapi/linux/bpf.h | 3 ++-
> > kernel/trace/bpf_trace.c | 4 +++-
> > tools/include/uapi/linux/bpf.h | 3 ++-
> > 3 files changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
> > index 233de8677382..3de9eb469fe2 100644
> > --- a/include/uapi/linux/bpf.h
> > +++ b/include/uapi/linux/bpf.h
> > @@ -1300,7 +1300,8 @@ enum {
> > * BPF_TRACE_UPROBE_MULTI attach type to create return probe.
> > */
> > enum {
> > - BPF_F_UPROBE_MULTI_RETURN = (1U << 0)
> > + BPF_F_UPROBE_MULTI_RETURN = (1U << 0),
> > + BPF_F_UPROBE_MULTI_UNIQUE = (1U << 1),
>
> I second Masami's point. "exclusive" name fits better.
> And once you use that name the "multi_exclusive"
> part will not make sense.
> How can an exclusive user of the uprobe be "multi" at the same time?
> Like attaching to multiple uprobes and modifying regsiters
> in all of them? Is it practical ?
we can still attach single uprobe with uprobe_multi,
but for more uprobes it's probably not practical
> It till attach single uprobe with eels to me BPF_F_UPROBE_EXCLUSIVE should be targeting
> one specific uprobe.
do you mean to force single uprobe with this flag?
I understood 'BPF_F_UPROBE_MULTI_' flag prefix more as indication what link
it belongs to, but I'm ok with BPF_F_UPROBE_EXCLUSIVE
thanks,
jirka