[PATCH bpf-next 0/7] Auto-guess program type on bpf_object__open

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

 



This patch set's main goal is to teach bpf_object__open() (and its variants)
to automatically derive BPF program type/expected attach type from section
names, similarly to how bpf_prog_load() was doing it. This significantly
improves user experience by eliminating yet another
obvious-only-in-the-hindsight surprise, when using libbpf APIs.

There are a bunch of auxiliary clean-ups and improvements. E.g.,
bpf_program__get_type() and bpf_program__get_expected_attach_type() are added
for completeness and symmetry with corresponding setter APIs. Some clean up
and fixes in selftests/bpf are done as well.

Andrii Nakryiko (7):
  tools: sync if_link.h
  libbpf: add bpf_program__get_{type, expected_attach_type) APIs
  libbpf: add uprobe/uretprobe and tp/raw_tp section suffixes
  libbpf: teach bpf_object__open to guess program types
  selftests/bpf: make a copy of subtest name
  selftests/bpf: make reference_tracking test use subtests
  selftest/bpf: get rid of a bunch of explicit BPF program type setting

 tools/include/uapi/linux/if_link.h            |  2 +
 tools/lib/bpf/libbpf.c                        | 80 ++++++++++++-------
 tools/lib/bpf/libbpf.h                        |  5 ++
 tools/lib/bpf/libbpf.map                      |  2 +
 .../selftests/bpf/prog_tests/attach_probe.c   |  5 --
 .../selftests/bpf/prog_tests/core_reloc.c     |  1 -
 .../selftests/bpf/prog_tests/rdonly_maps.c    |  4 -
 .../bpf/prog_tests/reference_tracking.c       |  3 +-
 .../selftests/bpf/progs/test_sk_lookup_kern.c | 18 ++---
 tools/testing/selftests/bpf/test_maps.c       |  4 -
 tools/testing/selftests/bpf/test_progs.c      | 17 ++--
 11 files changed, 83 insertions(+), 58 deletions(-)

-- 
2.17.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