From: Ard Biesheuvel Date: Wed, 1 Oct 2025 10:20:32 +0000 (+0200) Subject: ARM/simd: Add scoped guard API for kernel mode SIMD X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=814f5415d3e3084eeb0550acdee5eca8b4966055;p=thirdparty%2Flinux.git ARM/simd: Add scoped guard API for kernel mode SIMD Implement the ksimd scoped guard API so that it can be used by code that supports both ARM and arm64. Reviewed-by: Kees Cook Reviewed-by: Eric Biggers Reviewed-by: Jonathan Cameron Acked-by: Catalin Marinas Signed-off-by: Ard Biesheuvel --- diff --git a/arch/arm/include/asm/simd.h b/arch/arm/include/asm/simd.h index be08a8da046f9..8549fa8b7253b 100644 --- a/arch/arm/include/asm/simd.h +++ b/arch/arm/include/asm/simd.h @@ -2,14 +2,21 @@ #ifndef _ASM_SIMD_H #define _ASM_SIMD_H +#include #include #include #include +#include + static __must_check inline bool may_use_simd(void) { return IS_ENABLED(CONFIG_KERNEL_MODE_NEON) && !in_hardirq() && !irqs_disabled(); } +DEFINE_LOCK_GUARD_0(ksimd, kernel_neon_begin(), kernel_neon_end()) + +#define scoped_ksimd() scoped_guard(ksimd) + #endif /* _ASM_SIMD_H */