Description
In the Linux kernel, the following vulnerability has been resolved: x86/mtrr: Check if fixed MTRRs exist before saving them MTRRs have an obsolete fixed variant for fine grained caching control of the 640K-1MB region that uses separate MSRs. This fixed variant has a separate capability bit in the MTRR capability MSR. So far all x86 CPUs which support MTRR have this separate bit set, so it went unnoticed that mtrr_save_state() does not check the capability bit before accessing the fixed MTRR MSRs. Though on a CPU that does not support the fixed MTRR capability this results in a #GP. The #GP itself is harmless because the RDMSR fault is handled gracefully, but results in a WARN_ON(). Add the missing capability check to prevent this.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 34f36e6ee5bd7eff8b2adcd9fcaef369f752d82eaffected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 06c1de44d378ec5439db17bf476507d68589bfe9affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 450b6b22acdaac67a18eaf5ed498421ffcf10051affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < ca7d00c5656d1791e28369919e3e10febe9c3b16affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 8aa79dfb216b865e96ff890bc4ea71650f9bc8d7affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 8a90d3fc7c24608548d3a750671f9dac21d1a462affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 388f1c954019f253a8383f7eb733f38d541e10b6affected2b1f6278d77c1f2f669346fc2bb48012b5e9495a to < 919f18f961c03d6694aa726c514184f2311a4614affected
Linux Linux
Default version status: affected
2.6.22affected0 to < 2.6.22unaffected4.19.320 to ≤ 4.19.*unaffected5.4.282 to ≤ 5.4.*unaffected5.10.224 to ≤ 5.10.*unaffected5.15.165 to ≤ 5.15.*unaffected6.1.105 to ≤ 6.1.*unaffected6.6.46 to ≤ 6.6.*unaffected6.10.5 to ≤ 6.10.*unaffected6.11 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/34f36e6ee5bd7eff8b2adcd9fcaef369f752d82e ↗
- https://git.kernel.org/stable/c/06c1de44d378ec5439db17bf476507d68589bfe9 ↗
- https://git.kernel.org/stable/c/450b6b22acdaac67a18eaf5ed498421ffcf10051 ↗
- https://git.kernel.org/stable/c/ca7d00c5656d1791e28369919e3e10febe9c3b16 ↗
- https://git.kernel.org/stable/c/8aa79dfb216b865e96ff890bc4ea71650f9bc8d7 ↗
- https://git.kernel.org/stable/c/8a90d3fc7c24608548d3a750671f9dac21d1a462 ↗
- https://git.kernel.org/stable/c/388f1c954019f253a8383f7eb733f38d541e10b6 ↗
- https://git.kernel.org/stable/c/919f18f961c03d6694aa726c514184f2311a4614 ↗
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html ↗
- https://lists.debian.org/debian-lts-announce/2024/10/msg00003.html ↗
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html ↗