[PATCH bpf-next v4 0/2] libbpf: clarify raw-address single kprobe attach behavior

From: Hoyeon Lee

Date: Tue Mar 31 2026 - 11:36:30 EST


Today libbpf documents single-kprobe attach through func_name, with an
optional offset. For the PMU-based non-legacy 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. The first commit clarifies that,
for the PMU-based path, callers can use func_name = NULL with an
absolute address in offset for raw-address attach, and makes legacy
tracefs/debugfs kprobes reject that form. The second commit adds PERF
and LINK selftests for the raw-address form, and checks that LEGACY
rejects it.

---
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 (2):
libbpf: clarify raw-address single kprobe attach behavior
selftests/bpf: add test for raw-address single kprobe attach

tools/lib/bpf/libbpf.c | 21 +++--
tools/lib/bpf/libbpf.h | 3 +-
.../selftests/bpf/prog_tests/attach_probe.c | 82 +++++++++++++++++++
3 files changed, 96 insertions(+), 10 deletions(-)

--
2.52.0