Re: [PATCH bpf-next 12/16] libbpf: Introduce arena percpu helpers for user space

From: bot+bpf-ci

Date: Tue Oct 20 2026 - 10:43:51 EST


> libbpf: Introduce arena percpu helpers for user space

TL;DR: The new libbpf arena percpu symbols are exported under the
already-released LIBBPF_1.8.0 node instead of LIBBPF_1.9.0, which changes that
version's ABI and can cause undefined symbol errors at runtime.

> diff --git a/tools/lib/bpf/libbpf.map b/tools/lib/bpf/libbpf.map
> index eeba4072a5da..eda89ab60543 100644
> --- a/tools/lib/bpf/libbpf.map
> +++ b/tools/lib/bpf/libbpf.map
> @@ -458,6 +458,8 @@ LIBBPF_1.7.0 {
>
> LIBBPF_1.8.0 {
> global:
> + bpf_map__arena_percpu_base;
> + bpf_map__arena_percpu_ptr;
> bpf_map__attach_cgroup_opts;
> bpf_prog_stream_open;
> bpf_program__add_flags;

Should these two symbols be added to the LIBBPF_1.9.0 node instead of
LIBBPF_1.8.0?

Commit 3ead4ead078f ("libbpf: Start v1.9 development cycle") states that
libbpf 1.8.0 has been released, bumped LIBBPF_MINOR_VERSION to 9, and added
an empty node at the end of libbpf.map:

LIBBPF_1.9.0 {
} LIBBPF_1.8.0;

That node is still empty here, so exporting the new functions under
LIBBPF_1.8.0 changes the ABI of an already released version.

Binaries that use these symbols will record them as @LIBBPF_1.8.0, so
symbol-version based dependency generators (for example rpm's
libbpf.so.1(LIBBPF_1.8.0)) would accept the real libbpf 1.8.0 release, which
does not have bpf_map__arena_percpu_base or bpf_map__arena_percpu_ptr. At
runtime the dynamic linker then fails with an undefined symbol error instead
of a clear "version LIBBPF_1.9.0 not found" message.

No later commit in this series changes libbpf.map.


---
AI reviewed your patch. Please fix the bug or email reply why it's not a bug.
See: https://github.com/kernel-patches/vmtest/blob/master/ci/claude/README.md

CI run summary: https://github.com/kernel-patches/bpf/actions/runs/39434884362