mbox series

[v2,bpf-next,0/4] libbpf: add legacy uprobe support

Message ID 20210921210036.1545557-1-andrii@kernel.org (mailing list archive)
Headers show
Series libbpf: add legacy uprobe support | expand

Message

Andrii Nakryiko Sept. 21, 2021, 9 p.m. UTC
Implement libbpf support for attaching uprobes/uretprobes using legacy
tracefs interfaces. This is a logical complement to recently landed legacy
kprobe support ([0]). This patch refactors existing legacy kprobe code to be more
uniform with uprobe code as well, making the logic easier to compare and
follow.

This patch set also fixes two bugs recently found by Coverity in legacy kprobe
handling code, and thus subsumes previously submitted two patches ([1]):
original patch #1 is kept as is, while original patch #2 was dropped because
patch #3 of the current series refactors and fixes affected code.

  [0] https://patchwork.kernel.org/project/netdevbpf/patch/20210912064844.3181742-1-rafaeldtinoco@gmail.com/
  [1] https://patchwork.kernel.org/project/netdevbpf/list/?series=549977&state=*

v1->v2:
  - drop 'legacy = true' debug left-over and explain legacy check (Alexei).

Andrii Nakryiko (4):
  libbpf: fix memory leak in legacy kprobe attach logic
  selftests/bpf: adopt attach_probe selftest to work on old kernels
  libbpf: refactor and simplify legacy kprobe code
  libbpf: add legacy uprobe attaching support

 tools/lib/bpf/libbpf.c                        | 297 +++++++++++++-----
 tools/lib/bpf/libbpf.h                        |   2 +-
 .../selftests/bpf/prog_tests/attach_probe.c   |  24 +-
 3 files changed, 236 insertions(+), 87 deletions(-)

Comments

Alexei Starovoitov Sept. 22, 2021, 2:43 a.m. UTC | #1
On Tue, Sep 21, 2021 at 2:04 PM Andrii Nakryiko <andrii@kernel.org> wrote:
>
> Implement libbpf support for attaching uprobes/uretprobes using legacy
> tracefs interfaces. This is a logical complement to recently landed legacy
> kprobe support ([0]). This patch refactors existing legacy kprobe code to be more
> uniform with uprobe code as well, making the logic easier to compare and
> follow.
>
> This patch set also fixes two bugs recently found by Coverity in legacy kprobe
> handling code, and thus subsumes previously submitted two patches ([1]):
> original patch #1 is kept as is, while original patch #2 was dropped because
> patch #3 of the current series refactors and fixes affected code.
>
>   [0] https://patchwork.kernel.org/project/netdevbpf/patch/20210912064844.3181742-1-rafaeldtinoco@gmail.com/
>   [1] https://patchwork.kernel.org/project/netdevbpf/list/?series=549977&state=*
>
> v1->v2:
>   - drop 'legacy = true' debug left-over and explain legacy check (Alexei).

Applied. Thanks