[PATCH bpf-next] bpf: Fix bpf_arena_handle_page_fault() redefinition without CONFIG_BPF_SYSCALL

Tejun Heo posted 1 patch 1 week, 4 days ago
kernel/bpf/core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH bpf-next] bpf: Fix bpf_arena_handle_page_fault() redefinition without CONFIG_BPF_SYSCALL
Posted by Tejun Heo 1 week, 4 days ago
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>
---
 kernel/bpf/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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;
Re: [PATCH bpf-next] bpf: Fix bpf_arena_handle_page_fault() redefinition without CONFIG_BPF_SYSCALL
Posted by Song Liu 1 week, 4 days ago
On Wed, May 27, 2026 at 12:26 PM Tejun Heo <tj@kernel.org> wrote:
>
> 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>