[PATCH bpf-next 0/7] Improve set_attach_target() and deprecate open_opts.attach_prog_fd

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

 



This patch set deprecates bpf_object_open_opts.attach_prog_fd (in libbpf 0.7+)
by extending bpf_program__set_attach_target() to support some more flexible
scenarios. Existing fexit_bpf2bpf selftest is updated accordingly to not use
deprecated APIs.

While at it, also deprecate no-op relaxed_core_relocs option (they are always
"relaxed").

Last patch also const-ifies all high-level libbpf attach APIs, as there is no
reason for them to assume bpf_program/bpf_map modifications.

Patch #1 also removes one more unneeded use of find_sec_def(), relying on
prog->sec_def that's set during bpf_object__open() operation, simplifying
upcoming refactoring a little bit more.

All these changes are preparatory patches before SEC() handling refactoring
that will come next.

Andrii Nakryiko (7):
  libbpf: use pre-setup sec_def in libbpf_find_attach_btf_id()
  selftests/bpf: stop using relaxed_core_relocs which has no effect
  libbpf: deprecated bpf_object_open_opts.relaxed_core_relocs
  libbpf: allow skipping attach_func_name in
    bpf_program__set_attach_target()
  selftests/bpf: switch fexit_bpf2bpf selftest to set_attach_target()
    API
  libbpf: schedule open_opts.attach_prog_fd deprecation since v0.7
  libbpf: constify all high-level program attach APIs

 tools/lib/bpf/libbpf.c                        | 98 ++++++++++---------
 tools/lib/bpf/libbpf.h                        | 39 ++++----
 tools/lib/bpf/libbpf_common.h                 |  5 +
 .../selftests/bpf/prog_tests/core_reloc.c     |  3 +-
 .../selftests/bpf/prog_tests/fexit_bpf2bpf.c  | 43 ++++----
 5 files changed, 107 insertions(+), 81 deletions(-)

-- 
2.30.2




[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