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@xxxxxxxxx/ [1] https://patchwork.kernel.org/project/netdevbpf/list/?series=549977&state=* 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 | 16 +- 3 files changed, 228 insertions(+), 87 deletions(-) -- 2.30.2