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.