CVE-2025-38169

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe92bee9f861b466c676f0200be3e46af7bc4ac6b < 55d52af498daea75aa03ba9b7e444c8ae495ac20affected
LinuxLinuxe92bee9f861b466c676f0200be3e46af7bc4ac6b < a305821f597ec943849d3e53924adb88c61ed682affected
LinuxLinuxe92bee9f861b466c676f0200be3e46af7bc4ac6b < 01098d893fa8a6edb2b56e178b798e3e6b674f02affected
LinuxLinuxe003c485ac82a9f8de4204912ed059ac6dd4257caffected
LinuxLinux25b90cd122d546823da90b916f7c3289dfe83a99affected
LinuxLinux6.8.12 < 6.9affected
LinuxLinux6.9.3 < 6.10affected
LinuxLinux6.10affected
LinuxLinux0 < 6.10unaffected
LinuxLinux6.12.34 <= 6.12.*unaffected
LinuxLinux6.15.3 <= 6.15.*unaffected
LinuxLinux6.16 <= *unaffected

Weaknesses

References