Commit 58babe27 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Alexei Starovoitov
Browse files

bpf: fix perf_snapshot_branch_stack link failure



The newly added code to handle bpf_get_branch_snapshot fails to link when
CONFIG_PERF_EVENTS is disabled:

aarch64-linux-ld: kernel/bpf/verifier.o: in function `do_misc_fixups':
verifier.c:(.text+0x1090c): undefined reference to `__SCK__perf_snapshot_branch_stack'

Add a build-time check for that Kconfig symbol around the code to
remove the link time dependency.

Fixes: 314a5362 ("bpf: inline bpf_get_branch_snapshot() helper")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240405142637.577046-1-arnd@kernel.org


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 343ca813
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -20191,7 +20191,8 @@ static int do_misc_fixups(struct bpf_verifier_env *env)
		}
		/* Implement bpf_get_branch_snapshot inline. */
		if (prog->jit_requested && BITS_PER_LONG == 64 &&
		if (IS_ENABLED(CONFIG_PERF_EVENTS) &&
		    prog->jit_requested && BITS_PER_LONG == 64 &&
		    insn->imm == BPF_FUNC_get_branch_snapshot) {
			/* We are dealing with the following func protos:
			 * u64 bpf_get_branch_snapshot(void *buf, u32 size, u64 flags);