diff options
| author | Sasha Levin <sashal@kernel.org> | 2026-10-19 17:10:05 -0400 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-10-20 00:14:28 +0000 |
| commit | ced6a0993e2f89158451a1b8651169ac20725aee (patch) | |
| tree | 6d7e3be10e00b6ccdef0daf8b01d3c8886764ab4 /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 63be110a96aea4d0b5d5fe34cbd3ecf0819e14a3 (diff) | |
bpf: Don't reference arena kfuncs when arena isn't built
kernel/bpf/Makefile builds arena.o only for CONFIG_MMU && CONFIG_64BIT,
but special_kfunc_list references bpf_arena_alloc_pages() and
bpf_arena_free_pages() unconditionally, so on 32-bit and !MMU kernels
resolve_btfids can't resolve them:
WARN: resolve_btfids: unresolved symbol bpf_arena_free_pages
WARN: resolve_btfids: unresolved symbol bpf_arena_alloc_pages
Since commit 201a454df948 ("resolve_btfids: Fix the --fatal_warnings
exit status") these warnings fail the build with CONFIG_WERROR=y, which
breaks i386 builds with CONFIG_DEBUG_INFO_BTF=y:
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
Only reference them under the condition arena.o is built with, and use
BTF_ID_UNUSED otherwise to keep the list in sync with enum
special_kfunc_type. An unresolved ID is zero, like BTF_ID_UNUSED, so the
contents of the list don't change.
Fixes: b8467290edab ("bpf: arena: make arena kfuncs any context safe")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20261019211006.2574350-3-sashal@kernel.org
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
