]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
libbpf: Delay feature gate check until object prepare time
authorEmil Tsalapatis <emil@etsalapatis.com>
Tue, 17 Feb 2026 20:43:45 +0000 (15:43 -0500)
committerAndrii Nakryiko <andrii@kernel.org>
Tue, 17 Feb 2026 22:20:24 +0000 (14:20 -0800)
commitd7988720ef3ea5926f1b886b27eddf08abbadba0
tree7f6d1f60f28259557ee924b37ce7e84fab4f13a9
parent7cefbb47ccb2ded187f72db17a46f19d7cf4bf08
libbpf: Delay feature gate check until object prepare time

Commit 728ff167910e ("libbpf: Add gating for arena globals relocation feature")
adds a feature gate check that loads a map and BPF program to
test the running kernel supports large direct offsets for LDIMM64
instructions. This check is currently used to calculate arena symbol
offsets during bpf_object__collect_relos, itself called by
bpf_object_open.

However, the program calling bpf_object_open may not have the permissions to
load maps and programs. This is the case with the BPF selftests, where
bpftool is invoked at compilation time during skeleton generation. This
causes errors as the feature gate unexpectedly fails with -EPERM.

Avoid this by moving all the use of the FEAT_LDIMM64_FULL_RANGE_OFF feature gate
to BPF object preparation time instead.

Fixes: 728ff167910e ("libbpf: Add gating for arena globals relocation feature")
Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20260217204345.548648-3-emil@etsalapatis.com
tools/lib/bpf/libbpf.c