On Thu, Jun 19, 2025 at 8:31 PM Tao Chen <[email protected]> wrote: > > 在 2025/6/20 10:59, Alexei Starovoitov 写道: > > On Thu, Jun 19, 2025 at 7:46 PM Tao Chen <[email protected]> wrote: > >> > >> 在 2025/6/20 01:17, Alexei Starovoitov 写道: > >>> On Wed, Jun 18, 2025 at 8:44 PM Tao Chen <[email protected]> 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.
