Today libbpf documents single-kprobe attach through func_name, with an
optional offset. For the PMU-based path, func_name = NULL with an
absolute address in offset already works as well, but that is not
described in the API.
This patchset clarifies this behavior. First commit fixes kprobe
and uprobe attach error handling to use direct error codes. Next adds
kprobe API comments for the raw-address form and rejects it explicitly
for legacy tracefs/debugfs kprobes. Last adds PERF and LINK selftests
for the raw-address form, and checks that LEGACY rejects it.
---
Changes in v7:
- Change selftest line wrapping and assertions
Changes in v6:
- Split the kprobe/uprobe direct error-code fix into a separate patch
Changes in v5:
- Add kprobe API docs, use -EOPNOTSUPP, and switch selftests to LIBBPF_OPTS
Changes in v4:
- Inline raw-address error formatting and remove the probe_target buffer
Changes in v3:
- Drop bpf_kprobe_opts.addr and reuse offset when func_name is NULL
- Make legacy tracefs/debugfs kprobes reject the raw-address form
- Update selftests to cover PERF/LINK raw-address attach and LEGACY reject
Changes in v2:
- Fix line wrapping and indentation
Hoyeon Lee (3):
libbpf: use direct error codes for kprobe/uprobe attach
libbpf: clarify raw-address single kprobe attach behavior
selftests/bpf: add test for raw-address single kprobe attach
tools/lib/bpf/libbpf.c | 18 +++--
tools/lib/bpf/libbpf.h | 27 ++++++-
.../selftests/bpf/prog_tests/attach_probe.c | 80 +++++++++++++++++++
3 files changed, 116 insertions(+), 9 deletions(-)
--
2.52.0