[PATCH 0/5] arm64: Move kernel mode FPSIMD buffer to the stack
Ard Biesheuvel
ardb+git at google.com
Wed Sep 17 23:35:40 PDT 2025
From: Ard Biesheuvel <ardb at kernel.org>
Move the buffer for preserving/restoring the kernel mode FPSIMD state on a
context switch out of struct thread_struct, and onto the stack, so that
the memory cost is not imposed needlessly on all tasks in the system.
Patches #1 - #3 contains some prepwork so that patch #4 can tighten the
rules around permitted usage patterns of kernel_neon_begin() and
kernel_neon_end(). This permits #5 to provide a stack buffer to
kernel_neon_begin() transparently, in a manner that ensures that it will
remain available until after the associated call to kernel_neon_end()
returns.
Cc: Marc Zyngier <maz at kernel.org>
Cc: Will Deacon <will at kernel.org>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Kees Cook <keescook at chromium.org>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Cc: Mark Brown <broonie at kernel.org>
Ard Biesheuvel (5):
crypto/arm64: aes-ce-ccm - Avoid pointless yield of the NEON unit
crypto/arm64: sm4-ce-ccm - Avoid pointless yield of the NEON unit
crypto/arm64: sm4-ce-gcm - Avoid pointless yield of the NEON unit
arm64/fpsimd: Require kernel NEON begin/end calls from the same scope
arm64/fpsimd: Allocate kernel mode FP/SIMD buffers on the stack
arch/arm64/crypto/aes-ce-ccm-glue.c | 5 +--
arch/arm64/crypto/sm4-ce-ccm-glue.c | 10 ++----
arch/arm64/crypto/sm4-ce-gcm-glue.c | 10 ++----
arch/arm64/include/asm/neon.h | 7 ++--
arch/arm64/include/asm/processor.h | 2 +-
arch/arm64/kernel/fpsimd.c | 34 +++++++++++++-------
6 files changed, 34 insertions(+), 34 deletions(-)
base-commit: f83ec76bf285bea5727f478a68b894f5543ca76e
--
2.51.0.384.g4c02a37b29-goog
More information about the linux-arm-kernel
mailing list