On Fri, Jun 27, 2025 at 1:23 AM Tao Chen <chen.dyl...@linux.dev> wrote: > > Alexei suggested, 'link_type' can be more precise and differentiate > for human in fdinfo. In fact BPF_LINK_TYPE_KPROBE_MULTI includes > kretprobe_multi type, the same as BPF_LINK_TYPE_UPROBE_MULTI, so we > can show it more concretely. > > link_type: kprobe_multi > link_id: 1 > prog_tag: d2b307e915f0dd37 > ... > link_type: kretprobe_multi > link_id: 2 > prog_tag: ab9ea0545870781d > ... > link_type: uprobe_multi > link_id: 9 > prog_tag: e729f789e34a8eca > ... > link_type: uretprobe_multi > link_id: 10 > prog_tag: 7db356c03e61a4d4 > > As Andrii suggested attach_type can be recorded in bpf_link, there is > still a 6 byte hole in bpf_link, we can fill the hole with attach_type > soon. > > Co-authored-by: Jiri Olsa <jo...@kernel.org> > Signed-off-by: Tao Chen <chen.dyl...@linux.dev> > --- > include/linux/bpf.h | 1 + > kernel/bpf/syscall.c | 9 ++++++++- > kernel/trace/bpf_trace.c | 10 ++++------ > 3 files changed, 13 insertions(+), 7 deletions(-) > > Change list: > v5 -> v6: > - Move flags into bpf_link to get retprobe info > directly.(Alexei, Jiri) > v5: > https://lore.kernel.org/bpf/20250623134342.227347-1-chen.dyl...@linux.dev > > v4 -> v5: > - Add patch1 to show precise link_type for > {uprobe,kprobe}_multi.(Alexei) > - patch2,3 just remove type field, which will be showed in > link_type > v4: > https://lore.kernel.org/bpf/20250619034257.70520-1-chen.dyl...@linux.dev > > v3 -> v4: > - use %pS to print func info.(Alexei) > v3: > https://lore.kernel.org/bpf/20250616130233.451439-1-chen.dyl...@linux.dev > > v2 -> v3: > - show info in one line for multi events.(Jiri) > v2: > https://lore.kernel.org/bpf/20250615150514.418581-1-chen.dyl...@linux.dev > > v1 -> v2: > - replace 'func_cnt' with 'uprobe_cnt'.(Andrii) > - print func name is more readable and security for kprobe_multi.(Alexei) > v1: > https://lore.kernel.org/bpf/20250612115556.295103-1-chen.dyl...@linux.dev > > diff --git a/include/linux/bpf.h b/include/linux/bpf.h > index 5b25d278409..3d8fecc9b17 100644 > --- a/include/linux/bpf.h > +++ b/include/linux/bpf.h > @@ -1702,6 +1702,7 @@ struct bpf_link { > * link's semantics is determined by target attach hook > */ > bool sleepable; > + u32 flags :8;
There is a 7-byte hole here. Let's use 'u32 flags' right now and optimize later if necessary.