diff options
| author | Tejun Heo <tj@kernel.org> | 2026-05-27 09:26:32 -1000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-05-27 13:50:35 -0700 |
| commit | e42e53ae23b7d41df22ccd7788192bf578f24da2 (patch) | |
| tree | 09bf2cec8552c6a1d26623c059f259244c987700 | |
| parent | 8496d9020ff37a33c2a7b2fc84350fd03ffbde78 (diff) | |
bpf: Fix bpf_arena_handle_page_fault() redefinition without CONFIG_BPF_SYSCALL
On configs with CONFIG_BPF=y but CONFIG_BPF_SYSCALL=n (e.g. arm
multi_v7_defconfig), kernel/bpf/core.c defines a __weak
bpf_arena_handle_page_fault() while bpf_defs.h already supplies a static
inline stub for it, causing a redefinition error. Build the __weak
definition only under CONFIG_BPF_SYSCALL, matching the bpf_defs.h
declaration and the CONFIG_BPF_SYSCALL-gated strong definition in arena.c.
Fixes: dc11a4dba246 ("bpf: Recover arena kernel faults with scratch page")
Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20260527192632.2109419-1-tj@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
| -rw-r--r-- | kernel/bpf/core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index 8ecba2989d88..a656a8572bdb 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -3376,13 +3376,14 @@ __weak u64 bpf_arena_get_kern_vm_start(struct bpf_arena *arena) { return 0; } + +#ifdef CONFIG_BPF_SYSCALL __weak bool bpf_arena_handle_page_fault(unsigned long addr, bool is_write, unsigned long fault_ip) { return false; } -#ifdef CONFIG_BPF_SYSCALL static int __init bpf_global_ma_init(void) { int ret; |
