In the Linux kernel, the following vulnerability has been resolved:
arm64/sve: Discard stale CPU state when handling SVE traps
The logic for handling SVE traps manipulates saved FPSIMD/SVE state incorrectly, and a race with preemption can result in a task having TIF_SVE set and TIF_FOREIGN_FPSTATE clear even though the live CPU state is stale (e.g. with SVE traps enabled). This has been observed to result in warnings from do_sve_acc() where SVE traps are not expected while TIF_SVE is set:
| if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */
Warnings of this form have been reported intermittently, e.g.
https://lore.kernel.org/linux-arm-kernel/CA+G9fYtEGe_DhY2Ms7+L7NKsLYUomGsgqpdBj+QwDLeSg=JhGg@mail.gmail.com/ https://lore.kernel.org/linux-arm-kernel/[email protected]/
The race can occur when the SVE trap handler is preempted before and after manipulating the saved FPSIMD/SVE state, starting and ending on the same CPU, e.g.
| void do_sve_acc(unsigned long esr, struct pt_regs *regs) | { | // Trap on CPU 0 with TIF_SVE clear, SVE traps enabled | // task->fpsimd_cpu is 0. | // per_cpu_ptr(&fpsimd_last_state, 0) is task. | | ... | | // Preempted; migrated from CPU 0 to CPU 1. | // TIF_FOREIGN_FPSTATE is set. | | get_cpu_fpsimd_context(); | | if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */ | | sve_init_regs() { | if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) { | ... | } else { | fpsimd_to_sve(current); | current->thread.fp_type = FP_STATE_SVE; | } | } | | put_cpu_fpsimd_context(); | | // Preempted; migrated from CPU 1 to CPU 0. | // task->fpsimd_cpu is still 0 | // If per_cpu_ptr(&fpsimd_last_state, 0) is still task then: | // - Stale HW state is reused (with SVE traps enabled) | // - TIF_FOREIGN_FPSTATE is cleared | // - A return to userspace skips HW state restore | }
Fix the case where the state is not live and TIF_FOREIGN_FPSTATE is set by calling fpsimd_flush_task_state() to detach from the saved CPU state. This ensures that a subsequent context switch will not reuse the stale CPU state, and will instead set TIF_FOREIGN_FPSTATE, forcing the new state to be reloaded from memory prior to a return to userspace.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-debugUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-coreUpgrade kernel-zfcpdumpUpgrade kernel-tools-libsUpgrade kernel-modules-extraUpgrade kernel-uki-virt-addonsUpgrade kernel-rt-modules-coreUpgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-64k-modules-extraUpgrade perfUpgrade kernel-debugUpgrade kernel-uki-virtUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modulesUpgrade kernel-modulesUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modules-extraUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-docUpgrade kernel-rt-debug-develUpgrade libperfUpgrade kernel-64k-debug-modules-coreUpgrade kernel-64k-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-coreUpgrade kernel-rtUpgrade kernel-debug-modules-coreUpgrade rvUpgrade kernel-64k-develUpgrade kernel-debug-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-headersUpgrade kernel-64k-devel-matchedUpgrade kernel-modules-coreUpgrade rtlaUpgrade kernel-rt-coreUpgrade kernel-64k-modules-coreUpgrade kernel-64k-debug-coreUpgrade kernel-debug-develUpgrade kernel-64k-modulesUpgrade kernel-cross-headersUpgrade kernel-64k-debug-develUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-devel-matchedUpgrade kernel-64kUpgrade kernelUpgrade kernel-develUpgrade kernel-64k-debug-modules-extraUpgrade python3-perfUpgrade kernel-rt-develUpgrade kernel-64k-debug-modulesUpgrade kernel-debug-uki-virtUpgrade kernel-tools-libs-develUpgrade bpftool | Jan 27, 2025 | Nov 19, 2024 |
| Amazon Linux Ami 2 | — | Upgrade bpftool-debuginfoUpgrade perfUpgrade bpftoolUpgrade perf-debuginfoUpgrade python-perfUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-toolsUpgrade kernel-livepatch-5.15.176-118.170Upgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel | Mar 4, 2025 | Nov 19, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade perf-debuginfoUpgrade python3-perfUpgrade kernel-libbpf-develUpgrade kernel-develUpgrade kernel-libbpfUpgrade perfUpgrade kernelUpgrade kernel-debuginfo-common-aarch64Upgrade bpftoolUpgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-modules-extraUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-headersUpgrade bpftool-debuginfo | Mar 10, 2025 | Nov 19, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Jan 13, 2025 | Nov 19, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Jan 23, 2025 | Nov 19, 2024 |
| Redhat_linux | — | Upgrade kernelNo solution existsUpgrade kernel-rt | Jan 23, 2025 | Nov 19, 2024 |
| Rocky_linux | — | Upgrade kernel-rt-debug-develUpgrade kernel-modulesUpgrade kernel-headersUpgrade kernelUpgrade kernel-cross-headersUpgrade kernel-rt-modules-extraUpgrade bpftool-debuginfoUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-tools-libs-develUpgrade kernel-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debug-coreUpgrade kernel-debug-modulesUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modules-extraUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel-debugUpgrade kernel-rt-modulesUpgrade kernel-rt-coreUpgrade kernel-rt-debug-modulesUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade perfUpgrade kernel-rt-debug-modules-extraUpgrade bpftoolUpgrade kernel-coreUpgrade python3-perfUpgrade kernel-rt-kvmUpgrade kernel-develUpgrade kernel-rt-debugUpgrade kernel-modules-extraUpgrade perf-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-debuginfoUpgrade kernel-rt-develUpgrade kernel-rt | Feb 14, 2025 | Nov 19, 2024 |
| Ubuntu | — | Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-gkeUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-nvidia-tegraUpgrade linux-image-raspi-realtimeUpgrade linux-image-azure-cvmUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-genericUpgrade linux-image-oracleUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-oem-20.04cUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-oem-24.04aUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-gcpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-intelUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-gkeop-5.15Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-oem-24.04bUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-6.8.0-1024-oracleUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-nvidiaUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-ibmUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1026-oemUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-oem-20.04bUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-lowlatencyUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-raspiUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-azure-lts-24.04Upgrade linux-image-awsUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1086-azureUpgrade linux-image-oem-22.04cUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-gcp-fipsUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-azureUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.8.0-58-generic | Feb 20, 2025 | Nov 19, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 2, 2025 | Nov 19, 2024 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub