[RFC PATCH bpf-next 0/5] bpf: Extend bpf syscall with common attributes support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This proposal builds upon the discussion in
"[PATCH bpf-next v4 0/4] bpf: Improve error reporting for freplace attachment failure"[1],
and is also relevant to ongoing efforts such as tracing multi-link attach
failures[2].

This patch set introduces support for *common attributes* in the 'bpf()'
syscall, providing a unified mechanism for passing shared metadata across
all BPF commands.

The initial set of common attributes includes:

1. 'log_buf': User-provided buffer for storing log output.
2. 'log_size': Size of the provided log buffer.
3. 'log_level': Verbosity level for logging.

With this extension, the 'bpf()' syscall will be able to return meaningful
error messages (e.g., when a 'freplace' program fails to attach),
improving debuggability and user experience.

Links:
[1] https://lore.kernel.org/bpf/20250224153352.64689-1-leon.hwang@xxxxxxxxx/
[2] https://lore.kernel.org/bpf/20250703121521.1874196-1-dongml2@xxxxxxxxxxxxxxx/

Leon Hwang (5):
  bpf: Extend bpf syscall with common attributes support
  libbpf: Add support for extended bpf syscall
  bpf: Report freplace attach failure reason via extended syscall
  libbpf: Capture error message on freplace attach failure
  selftests/bpf: Add case to test freplace attach failure log

 include/uapi/linux/bpf.h                      |  7 +++
 kernel/bpf/syscall.c                          | 58 +++++++++++++++----
 tools/include/uapi/linux/bpf.h                |  7 +++
 tools/lib/bpf/bpf.c                           | 58 ++++++++++++++++++-
 tools/lib/bpf/bpf.h                           |  3 +
 tools/lib/bpf/features.c                      |  8 +++
 tools/lib/bpf/libbpf.c                        | 18 ++++--
 tools/lib/bpf/libbpf.h                        |  4 ++
 tools/lib/bpf/libbpf.map                      |  3 +
 tools/lib/bpf/libbpf_internal.h               |  2 +
 .../bpf/prog_tests/tracing_failure.c          | 43 ++++++++++++++
 11 files changed, 193 insertions(+), 18 deletions(-)

--
2.50.1





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux