bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Yafang Shao <laoar.shao@gmail.com>
To: ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org,
	martin.lau@linux.dev, song@kernel.org, yhs@fb.com,
	john.fastabend@gmail.com, kpsingh@kernel.org, sdf@google.com,
	haoluo@google.com, jolsa@kernel.org, quentin@isovalent.com
Cc: bpf@vger.kernel.org, Yafang Shao <laoar.shao@gmail.com>
Subject: [PATCH bpf-next 0/6] bpf: Support ->fill_link_info for kprobe prog
Date: Fri,  2 Jun 2023 08:52:33 +0000	[thread overview]
Message-ID: <20230602085239.91138-1-laoar.shao@gmail.com> (raw)

Currently, it is not easy to determine which functions are probed by a
kprobe_multi program. This patchset supports ->fill_link_info for it, 
allowing the user to easily obtain the probed functions.

Although the user can retrieve the functions probed by a perf_event
program using `bpftool perf show`, it would be beneficial to also support
->fill_link_info. This way, the user can obtain it in the same manner as
other bpf links.

It would be preferable to expose the address directly rather than the symbol
name, as multiple functions may share the same name. These addresses
will be parsed by bpftool.

RFC->v1:
- Use a single copy_to_user() instead (Jiri)
- Show also the symbol name in bpftool (Quentin, Alexei)
- Use calloc() instead of malloc() in bpftool (Quentin)
- Avoid having conditional entries in the JSON output (Quentin)
- Drop ->show_fdinfo (Alexei)
- Use __u64 instead of __aligned_u64 for the field addr (Alexei)
- Avoid the contradiction in perf_event name length (Alexei) 
- Address a build warning reported by kernel test robot <lkp@intel.com>

Yafang Shao (6):
  bpf: Support ->fill_link_info for kprobe_multi
  bpftool: Show probed function in kprobe_multi link info
  bpf: Always expose the probed address
  bpf: Add a common helper bpf_copy_to_user()
  bpf: Support ->fill_link_info for perf_event
  bpftool: Show probed function in perf_event link info

 include/uapi/linux/bpf.h       |  10 ++++
 kernel/bpf/syscall.c           |  79 +++++++++++++++++++++++-----
 kernel/trace/bpf_trace.c       |  26 ++++++++++
 kernel/trace/trace_kprobe.c    |   2 +-
 tools/bpf/bpftool/link.c       | 115 ++++++++++++++++++++++++++++++++++++++++-
 tools/include/uapi/linux/bpf.h |  10 ++++
 6 files changed, 226 insertions(+), 16 deletions(-)

-- 
1.8.3.1


             reply	other threads:[~2023-06-02  8:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-02  8:52 Yafang Shao [this message]
2023-06-02  8:52 ` [PATCH bpf-next 1/6] bpf: Support ->fill_link_info for kprobe_multi Yafang Shao
2023-06-02 16:45   ` Stanislav Fomichev
2023-06-04  3:21     ` Yafang Shao
2023-06-03  6:38   ` kernel test robot
2023-06-04  3:22     ` Yafang Shao
2023-06-02  8:52 ` [PATCH bpf-next 2/6] bpftool: Show probed function in kprobe_multi link info Yafang Shao
2023-06-02 20:36   ` Alexei Starovoitov
2023-06-04  3:24     ` Yafang Shao
2023-06-02 22:16   ` Andrii Nakryiko
2023-06-04  3:26     ` Yafang Shao
2023-06-02  8:52 ` [PATCH bpf-next 3/6] bpf: Always expose the probed address Yafang Shao
2023-06-02  8:52 ` [PATCH bpf-next 4/6] bpf: Add a common helper bpf_copy_to_user() Yafang Shao
2023-06-02  8:52 ` [PATCH bpf-next 5/6] bpf: Support ->fill_link_info for perf_event Yafang Shao
2023-06-02 22:19   ` Andrii Nakryiko
2023-06-04  3:28     ` Yafang Shao
2023-06-02  8:52 ` [PATCH bpf-next 6/6] bpftool: Show probed function in perf_event link info Yafang Shao
2023-06-02 20:38   ` Alexei Starovoitov
2023-06-04  3:23     ` Yafang Shao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230602085239.91138-1-laoar.shao@gmail.com \
    --to=laoar.shao@gmail.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=haoluo@google.com \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=martin.lau@linux.dev \
    --cc=quentin@isovalent.com \
    --cc=sdf@google.com \
    --cc=song@kernel.org \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).