Description
In the Linux kernel, the following vulnerability has been resolved: arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP On system with SME, a thread's kernel FPSIMD state may be erroneously clobbered during a context switch immediately after that state is restored. Systems without SME are unaffected. If the CPU happens to be in streaming SVE mode before a context switch to a thread with kernel FPSIMD state, fpsimd_thread_switch() will restore the kernel FPSIMD state using fpsimd_load_kernel_state() while the CPU is still in streaming SVE mode. When fpsimd_thread_switch() subsequently calls fpsimd_flush_cpu_state(), this will execute an SMSTOP, causing an exit from streaming SVE mode. The exit from streaming SVE mode will cause the hardware to reset a number of FPSIMD/SVE/SME registers, clobbering the FPSIMD state. Fix this by calling fpsimd_flush_cpu_state() before restoring the kernel FPSIMD state.
Product status
e92bee9f861b466c676f0200be3e46af7bc4ac6b (git) before 55d52af498daea75aa03ba9b7e444c8ae495ac20
e92bee9f861b466c676f0200be3e46af7bc4ac6b (git) before a305821f597ec943849d3e53924adb88c61ed682
e92bee9f861b466c676f0200be3e46af7bc4ac6b (git) before 01098d893fa8a6edb2b56e178b798e3e6b674f02
e003c485ac82a9f8de4204912ed059ac6dd4257c (git)
25b90cd122d546823da90b916f7c3289dfe83a99 (git)
6.10
Any version before 6.10
6.12.34 (semver)
6.15.3 (semver)
6.16 (original_commit_for_fix)
References
git.kernel.org/...c/55d52af498daea75aa03ba9b7e444c8ae495ac20
git.kernel.org/...c/a305821f597ec943849d3e53924adb88c61ed682
git.kernel.org/...c/01098d893fa8a6edb2b56e178b798e3e6b674f02