Re: [PATCH bpf-next v4 2/2] bpf: Add show_fdinfo for kprobe_multi
From: Alexei Starovoitov
Date: Fri Jun 20 2025 - 14:25:31 EST
On Thu, Jun 19, 2025 at 8:31 PM Tao Chen <chen.dylane@xxxxxxxxx> wrote:
>
> 在 2025/6/20 10:59, Alexei Starovoitov 写道:
> > On Thu, Jun 19, 2025 at 7:46 PM Tao Chen <chen.dylane@xxxxxxxxx> wrote:
> >>
> >> 在 2025/6/20 01:17, Alexei Starovoitov 写道:
> >>> On Wed, Jun 18, 2025 at 8:44 PM Tao Chen <chen.dylane@xxxxxxxxx> wrote:
> >>>>
> >>>> Show kprobe_multi link info with fdinfo, the info as follows:
> >>>>
> >>>> link_type: kprobe_multi
> >>>> link_id: 1
> >>>> prog_tag: a15b7646cb7f3322
> >>>> prog_id: 21
> >>>> type: kprobe_multi
> >>>
> >>> ..
> >>>
> >>>> + seq_printf(seq,
> >>>> + "type:\t%s\n"
> >>>> + "kprobe_cnt:\t%u\n"
> >>>> + "missed:\t%lu\n",
> >>>> + kmulti_link->flags == BPF_F_KPROBE_MULTI_RETURN ? "kretprobe_multi" :
> >>>> + "kprobe_multi",
> >>>
> >>> why print the same info twice ?
> >>> seq_printf(m, "link_type:\t%s\n", bpf_link_type_strs[type]);
> >>> in bpf_link_show_fdinfo() already did it in a cleaner way.
> >>>
> >>
> >> link_type only shows 'kprobe_multi', maybe we can show the format like:
> >
> > Ohh. Especially so. It would be wrong and confusing to display:
> > link_type: kprobe_multi
> > type: kretprobe_multi
> >
> > Let's fix 'link_type' to display it properly.
>
> What do you think show like this:
>
> link_type: kprobe_multi
> link_id: 1
> prog_tag: 33be53a4fd673e1d
> prog_id: 21
> retprobe: false
It leaks implementation details.
For the kernel the link type is BPF_LINK_TYPE_KPROBE_MULTI for retprobe too,
but show_fdinfo is for humans.
'link_type:' field can be more precise and differentiate
what's effectively a subtype of the link.