[packages/kernel] disable BPF_JIT_ALWAYS_ON on %{arm}
atler
atler at pld-linux.org
Mon Oct 12 18:36:22 CEST 2026
commit 7af2726ce19443332fb8316a37651b39c00bca3d
Author: Jan Palus <atler at pld-linux.org>
Date: Mon Oct 12 18:22:26 2026 +0200
disable BPF_JIT_ALWAYS_ON on %{arm}
bpf programs may fail to to be jitted for various reasons but once
BPF_JIT_ALWAYS_ON is enabled interpreter is no longer available to
fallback to. consequences are sometimes severe -- on armv6 (ie Raspberry
Pi Zero) openssh fails to apply seccomp filter and bails with vague:
prctl(PR_SET_SECCOMP): Unknown error 524 [preauth]
without any trace of error in kernel logs. it takes some kernel
debugging to figure openssh seccomp filter reached one of arch's limits:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/net/bpf_jit_32.c?h=v7.2#n440
in normal circumstances program would fallback to interpreter providing
it is available in the first place.
kernel-multiarch.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/kernel-multiarch.config b/kernel-multiarch.config
index 7268da28..517ff995 100644
--- a/kernel-multiarch.config
+++ b/kernel-multiarch.config
@@ -14086,7 +14086,7 @@ SCHED_CORE=y
#-
BPF_SYSCALL all=y
BPF_JIT all=y
-BPF_JIT_ALWAYS_ON all=y
+BPF_JIT_ALWAYS_ON all=y arm=n
BPF_UNPRIV_DEFAULT_OFF all=y
#- file kernel/bpf/preload/Kconfig goes here
BPF_LSM all=y
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/7af2726ce19443332fb8316a37651b39c00bca3d
More information about the pld-cvs-commit
mailing list