]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: bpf: Only mitigate cBPF programs loaded by unprivileged users
authorJames Morse <james.morse@arm.com>
Tue, 29 Apr 2025 15:03:38 +0000 (16:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:24:10 +0000 (08:24 +0200)
commit f300769ead032513a68e4a02e806393402e626f8 upstream.

Support for eBPF programs loaded by unprivileged users is typically
disabled. This means only cBPF programs need to be mitigated for BHB.

In addition, only mitigate cBPF programs that were loaded by an
unprivileged user. Privileged users can also load the same program
via eBPF, making the mitigation pointless.

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm64/net/bpf_jit_comp.c

index 027775e6c9b105bfbb78ded7867376365080fc78..75523c1be073502b0344cd85e562fa5f3bd3bf39 100644 (file)
@@ -666,6 +666,9 @@ static void __maybe_unused build_bhb_mitigation(struct jit_ctx *ctx)
            arm64_get_spectre_v2_state() == SPECTRE_VULNERABLE)
                return;
 
+       if (capable(CAP_SYS_ADMIN))
+               return;
+
        if (supports_clearbhb(SCOPE_SYSTEM)) {
                emit(aarch64_insn_gen_hint(AARCH64_INSN_HINT_CLEARBHB), ctx);
                return;