From: Mykyta Yatsenko <yatsenko@xxxxxxxx> Introduce a new libbpf API function bpf_object__prepare enabling more granular control over the process of bpf_object loading. bpf_object__prepare runs the same steps that bpf_object__load is running, before the actual loading of BPF programs. This API could be useful when we need access to initialized fields of bpf_object before program loading, for example: currently we can't pass bpf_token into bpf_program__set_attach_target, because token initialization is done during loading. Mykyta Yatsenko (3): libbpf: introduce more granular state for bpf_object libbpf: split bpf object load into prepare/load selftests/bpf: add tests for bpf_object__prepare tools/lib/bpf/libbpf.c | 194 ++++++++++++------ tools/lib/bpf/libbpf.h | 9 + tools/lib/bpf/libbpf.map | 1 + .../selftests/bpf/prog_tests/prepare.c | 99 +++++++++ tools/testing/selftests/bpf/progs/prepare.c | 28 +++ 5 files changed, 267 insertions(+), 64 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/prepare.c create mode 100644 tools/testing/selftests/bpf/progs/prepare.c -- 2.48.1