CVE-2025-38169

arm64/fpsimd: Avoid clobbering kernel FPSIMD state with SMSTOP

State
Published
Severity
7.8 High
Published
Jul 3, 2025
Updated
Oct 15, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • e92bee9f861b466c676f0200be3e46af7bc4ac6b to before 55d52af498daea75aa03ba9b7e444c8ae495ac20Affected
  • e92bee9f861b466c676f0200be3e46af7bc4ac6b to before a305821f597ec943849d3e53924adb88c61ed682Affected
  • e92bee9f861b466c676f0200be3e46af7bc4ac6b to before 01098d893fa8a6edb2b56e178b798e3e6b674f02Affected
  • e003c485ac82a9f8de4204912ed059ac6dd4257cAffected
  • 25b90cd122d546823da90b916f7c3289dfe83a99Affected
  • 6.8.12 to before 6.9Affected
  • 6.9.3 to before 6.10Affected
LinuxLinux
  • 6.10Affected
  • before 6.10Not affected
  • 6.12.34 through 6.12.*Not affected
  • 6.15.3 through 6.15.*Not affected
  • 6.16 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.