Skip to content
OpenAdvisories
High · 7.3 CVE-2024-50275 EUVD-2024-45173GHSA-4grr-9vhg-g98w

arm64/sve: Discard stale CPU state when handling SVE traps

Published Nov 19, 2024 · Updated Oct 15, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-azure Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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/000000000000511e9a060ce5a45c@google.com/

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.

Affected products

VendorProductAffectedFixed
Linux Linux 5.13 5.15.174

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.11.9-1 —
Debian 13 linux 6.11.9-1 —
Debian 12 linux 6.1.123-1 —
Debian 11 linux-6.1 6.1.128-1~deb11u1 DLA-4076-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1062.64 —
Ubuntu 24.04 LTS linux 6.8.0-58.60 USN-7449-1
Ubuntu 24.04 LTS linux-aws 6.8.0-1027.29 USN-7449-1
Ubuntu 24.04 LTS linux-azure 6.8.0-1027.32 USN-7449-1
Ubuntu 24.04 LTS linux-azure-6.11 6.11.0-1012.12~24.04.1 —
Ubuntu 24.04 LTS linux-azure-nvidia 6.8.0-1014.15 USN-7468-1
Ubuntu 24.04 LTS linux-gcp 6.8.0-1028.30 USN-7450-1
Ubuntu 24.04 LTS linux-gcp-6.11 6.11.0-1011.11~24.04.1 —
Ubuntu 24.04 LTS linux-gke 6.8.0-1023.27 USN-7450-1
Ubuntu 24.04 LTS linux-gkeop 6.8.0-1010.12 USN-7450-1
Ubuntu 24.04 LTS linux-ibm 6.8.0-1024.24 USN-7449-1
Ubuntu 24.04 LTS linux-nvidia 6.8.0-1026.29 USN-7449-1
Ubuntu 24.04 LTS linux-nvidia-6.11 6.11.0-1007.7 —
Ubuntu 24.04 LTS linux-nvidia-lowlatency 6.8.0-1026.29.1 USN-7449-1
Ubuntu 24.04 LTS linux-nvidia-tegra 6.8.0-1008.8 —
Ubuntu 24.04 LTS linux-oem-6.11 6.11.0-1015.15 USN-7310-1
Ubuntu 24.04 LTS linux-oem-6.8 6.8.0-1026.26 USN-7449-1
Ubuntu 24.04 LTS linux-oracle 6.8.0-1024.25 USN-7449-1
Ubuntu 24.04 LTS linux-raspi 6.8.0-1028.32 USN-7524-1
Ubuntu 24.04 LTS linux-realtime +1 No fix yet —
Ubuntu 24.04 LTS linux-riscv +1 6.8.0-58.60.1 USN-7449-1
Ubuntu 24.04 LTS linux-xilinx 6.8.0-1017.18 —
Ubuntu 22.04 LTS linux +1 5.15.0-135.146 USN-7387-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1080.87 USN-7387-1
Ubuntu 22.04 LTS linux-aws-6.8 6.8.0-1027.29~22.04.1 USN-7451-1
Ubuntu 22.04 LTS linux-azure 5.15.0-1084.93 USN-7387-1
Ubuntu 22.04 LTS linux-azure-6.8 6.8.0-1027.32~22.04.1 USN-7449-1
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1084.93.1 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1079.88 USN-7387-1
Ubuntu 22.04 LTS linux-gcp-6.8 6.8.0-1028.30~22.04.1 USN-7452-1
Ubuntu 22.04 LTS linux-gke +1 5.15.0-1077.83 USN-7387-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1062.70 USN-7387-1
Ubuntu 22.04 LTS linux-hwe-6.8 6.8.0-58.60~22.04.1 USN-7449-2
Ubuntu 22.04 LTS linux-ibm 5.15.0-1072.75 USN-7387-1
Ubuntu 22.04 LTS linux-ibm-6.8 6.8.0-1024.24~22.04.1 —
Ubuntu 22.04 LTS linux-intel-iot-realtime 5.15.0-1073.75 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1075.81 USN-7387-1
Ubuntu 22.04 LTS linux-kvm 5.15.0-1076.81 USN-7388-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1074.75 USN-7387-1
Ubuntu 22.04 LTS linux-nvidia-6.8 6.8.0-1026.29~22.04.1 USN-7449-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1033.33 USN-7389-1
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1021.21 USN-7389-1
Ubuntu 22.04 LTS linux-oracle-6.8 6.8.0-1024.25~22.04.1 USN-7449-1
Ubuntu 22.04 LTS linux-raspi 5.15.0-1074.77 USN-7387-1
Ubuntu 22.04 LTS linux-riscv +31 No fix yet —
Ubuntu 22.04 LTS linux-riscv-6.8 +1 6.8.0-58.60.1~22.04.1 USN-7449-1
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1044.48 USN-7390-1
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1080.87~20.04.1 USN-7388-1
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1086.95~20.04.1 USN-7421-1
Ubuntu 20.04 LTS linux-azure-fde-5.15 5.15.0-1086.95~20.04.1.1 USN-7421-1
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1081.90~20.04.1 USN-7459-2
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 20.04 LTS linux-hwe-5.15 5.15.0-136.147~20.04.1 USN-7407-1
Ubuntu 20.04 LTS linux-ibm-5.15 5.15.0-1074.77~20.04.1 USN-7458-1
Ubuntu 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-135.146~20.04.1 USN-7387-1
Ubuntu 20.04 LTS linux-oracle-5.15 +1 5.15.0-1077.83~20.04.1 USN-7459-1, USN-7387-1
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1075.79~20.04.1 —
Ubuntu 18.04 LTS linux-gcp +13 No fix yet —
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-raspi-realtime 6.8.0-2023.24 USN-7523-1
Ubuntu Pro Realtime 24.04 LTS linux-realtime 6.8.1-1020.21 USN-7453-1
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1073.75 USN-7387-3
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1080.88 USN-7387-3
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 6.8.1-1020.21~22.04.1 —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips 6.8.0-78.78+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1080.87+fips1 USN-7387-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1083.92+fips1 USN-7387-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-135.146+fips1 USN-7387-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1079.88+fips1 USN-7387-2
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1039.39~20.04.1 —
ReleasePackageFixed inAdvisory
RHEL 9 bpftool 7.4.0-503.22.1.el9_5 RHSA-2025:0578
RHEL 9 rv +65 5.14.0-503.22.1.el9_5 RHSA-2025:0578
RHEL 8 kernel-rt +12 4.18.0-553.37.1.rt7.378.el8_10 RHSA-2025:1067
RHEL 8 perf +26 4.18.0-553.37.1.el8_10 RHSA-2025:1068
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 9.4 EUS bpftool 7.3.0-427.55.1.el9_4 RHSA-2025:1658
RHEL 9.4 EUS rv +64 5.14.0-427.55.1.el9_4 RHSA-2025:1658
RHEL 8.8 EUS perf +26 4.18.0-477.93.1.el8_8 RHSA-2025:2525

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 9 bpftool 7.4.0-503.22.1.el9_5 ALSA-2025:0578
AlmaLinux 9 rv +61 5.14.0-503.22.1.el9_5 ALSA-2025:0578
AlmaLinux 8 kernel-rt +9 4.18.0-553.37.1.rt7.378.el8_10 ALSA-2025:1067
AlmaLinux 8 perf +24 4.18.0-553.37.1.el8_10 ALSA-2025:1068

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 8 kernel 4.18.0-553.37.1.el8_10 RLSA-2025:1068
Rocky Linux 8 kernel-rt 4.18.0-553.37.1.rt7.378.el8_10 RLSA-2025:1067
ReleasePackageFixed inAdvisory
SLES 15 SP6 kernel-64kb +6 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
SLES 15 SP6 kernel-azure +2 6.4.0-150600.8.20.1 SUSE-SU-2024:4316-1
SLES 15 SP6 kernel-coco +3 6.4.0-15061.9.coco15sp6.1 SUSE-SU-2024:4387-1
SLES 15 SP6 kernel-default-base 6.4.0-150600.23.30.1.150600.12.12.6 SUSE-SU-2024:4318-1
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.94.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.94.1.150500.6.43.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
Show 8 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.94.1.150500.6.43.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.94.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLE Micro 6.1 kernel-default-base 6.4.0-24.1.21.4 SUSE-SU-2025:20247-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0-RT_Update_4 1-1.1 SUSE-SU-2025:20246-1
SLE Micro 6.1 kernel-livepatch-MICRO-6-0_Update_4 1-1.2 SUSE-SU-2025:20247-1
SLE Micro 6.1 kernel-rt +1 6.4.0-22.1 SUSE-SU-2025:20246-1
SLE Micro 6.1 kernel-source +2 6.4.0-24.1 SUSE-SU-2025:20247-1
SLE Micro 6.0 kernel-default-base 6.4.0-24.1.21.4 SUSE-SU-2025:20164-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0-RT_Update_4 1-1.1 SUSE-SU-2025:20163-1
SLE Micro 6.0 kernel-livepatch-MICRO-6-0_Update_4 1-1.2 SUSE-SU-2025:20164-1
SLE Micro 6.0 kernel-rt +1 6.4.0-22.1 SUSE-SU-2025:20163-1
SLE Micro 6.0 kernel-source +2 6.4.0-24.1 SUSE-SU-2025:20164-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.94.1.150500.6.43.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.85.1 SUSE-SU-2025:0556-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.94.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLE Live Patching 15 SP6 kernel-default 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_6 1-150600.1.3.1 SUSE-SU-2024:4314-1
SLE Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_6 1-150600.13.3.5 SUSE-SU-2024:4318-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.94.1 SUSE-SU-2025:0577-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_23 1-150500.11.3.1 SUSE-SU-2025:0577-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.94.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.94.1.150500.6.43.1 SUSE-SU-2025:0577-2, SUSE-SU-2025:0577-1
SUSE Real Time Module 15 SP6 kernel-rt +3 6.4.0-150600.10.20.1 SUSE-SU-2024:4314-1
ReleasePackageFixed inAdvisory
openSUSE Leap 15.6 dtb-aarch64 +10 6.4.0-150600.23.30.1 SUSE-SU-2024:4318-1
openSUSE Leap 15.6 kernel-azure +2 6.4.0-150600.8.20.1 SUSE-SU-2024:4316-1
openSUSE Leap 15.6 kernel-default-base 6.4.0-150600.23.30.1.150600.12.12.6 SUSE-SU-2024:4318-1
openSUSE Leap 15.6 kernel-rt +3 6.4.0-150600.10.20.1 SUSE-SU-2024:4314-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 kernel-livepatch-6.1.124-134.200 1.0-0.amzn2023 ALAS2023-2025-809
Amazon Linux 2023 perf +14 6.1.124-134.200.amzn2023 ALAS2023-2025-809

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.64.2-1 —
Azure Linux 2 (CBL-Mariner) kernel 5.15.176.3-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 bpftool 7.4.0-503.22.1.el9_5 ELSA-2025-0578
Oracle Linux 9 rv +28 5.14.0-503.22.1.el9_5 ELSA-2025-0578
Oracle Linux 8 kernel-uek +12 5.15.0-305.176.4.el9uek ELSA-2025-20095
Oracle Linux 8 perf +19 4.18.0-553.37.1.el8_10 ELSA-2025-20095, ELSA-2025-1068

Advisories 48

References