[PATCH bpf-next v5 0/6] bpf: Add syscall common attrs support for xdp link_create
From: Leon Hwang
Date: Mon Oct 26 2026 - 11:50:27 EST
I'm planning to add syscall common attrs support for LINK_CREATE cmd.
This is the first series for the plan, that adds syscall common attrs
support for xdp LINK_CREATE.
Thereafter, retire the tracepoint bpf_xdp_link_attach_failed, because
the underlying driver's error can be back-propagated to user space via
the syscall common attrs.
Changes:
v4 -> v5:
* Pass extack instead of errmsg pointer to bpf_xdp_link_attach(). (Alexei)
* Move cmd as first argument in __sys_bpf_fd() helper. (bot+bpf-ci)
* v4: https://lore.kernel.org/bpf/20261024153608.58569-1-leon.hwang@xxxxxxxxx/
v3 -> v4:
* Pass errmsg pointer to bpf_xdp_link_attach(). (Jakub)
* Place log_opts at the slot of iter_info in libbpf. (Andrii)
* v3: https://lore.kernel.org/bpf/20261020152804.39863-1-leon.hwang@xxxxxxxxx/
v2 -> v3:
* Drop bpf_log_attr_report_size() helper. (Alexei)
* Drop 2nd write for log_true_size and the put_prog label. (Alexei)
* v2: https://lore.kernel.org/bpf/20261019153628.15912-1-leon.hwang@xxxxxxxxx/
v1 -> v2:
* Add log for invalid prog type in link_create().
* Reject log_opts for fallback bpf_raw_tracepoint_open() in libbpf.
* Report log_true_size as 0 before creating concrete link, and report
the actual log_true_size when fail to create the concrete link.
(Sashiko)
* Add stub bpf_log() when CONFIG_BPF_SYSCALL is not set. (bots)
* Check 'extack._msg' before adding 'extack._msg' to log buffer.
(Sashiko, bot+bpf-ci)
* Change __bpf_sys_fd to __sys_bpf_fd in the subject and body of
patch 4. (bot+bpf-ci)
* Move OPTS_VALID(opts, bpf_link_create_opts) to __sys_bpf_fd(). (Sashiko)
* Move bpf_link_create_log to the LIBBPF_1.9.0 section. (Sashiko)
* Update patch msg with a concrete case in patch 5. (bot+bpf-ci)
* Factor out helpers to simplify the tests code. (bot+bpf-ci)
* v1: https://lore.kernel.org/bpf/20261017142649.51047-1-leon.hwang@xxxxxxxxx/
Leon Hwang (6):
bpf: Add syscall common attrs support for link_create
bpf: Add syscall common attrs support for xdp link_create
bpf: Retire tracepoint bpf_xdp_link_attach_failed
libbpf: Factor out __sys_bpf_fd helper
libbpf: Add log_opts support for bpf_link_create
selftests/bpf: Add tests to verify link_create logs
include/linux/netdevice.h | 3 +-
include/trace/events/xdp.h | 17 ---
kernel/bpf/syscall.c | 41 +++++--
net/core/dev.c | 8 +-
tools/lib/bpf/bpf.c | 61 +++++++----
tools/lib/bpf/bpf.h | 5 +-
.../selftests/bpf/prog_tests/xdp_attach.c | 65 -----------
.../selftests/bpf/prog_tests/xdp_link.c | 102 ++++++++++++++++++
.../bpf/progs/test_xdp_attach_fail.c | 54 ----------
9 files changed, 187 insertions(+), 169 deletions(-)
delete mode 100644 tools/testing/selftests/bpf/progs/test_xdp_attach_fail.c
--
2.55.0