|
Borislav Petkov |
c4753d |
From: Peter Zijlstra <peterz@infradead.org>
|
|
Borislav Petkov |
c4753d |
Date: Fri, 24 Jun 2022 14:03:25 +0200
|
|
Borislav Petkov |
c4753d |
Subject: x86/common: Stamp out the stepping madness
|
|
Borislav Petkov |
c4753d |
Git-commit: 7a05bc95ed1c5a59e47aaade9fb4083c27de9e62
|
|
Borislav Petkov |
cc67fa |
Patch-mainline: v5.19-rc7
|
|
Borislav Petkov |
c4753d |
References: bsc#1199657 CVE-2022-29900 CVE-2022-29901
|
|
Borislav Petkov |
c4753d |
|
|
Borislav Petkov |
c4753d |
The whole MMIO/RETBLEED enumeration went overboard on steppings. Get
|
|
Borislav Petkov |
c4753d |
rid of all that and simply use ANY.
|
|
Borislav Petkov |
c4753d |
|
|
Borislav Petkov |
c4753d |
If a future stepping of these models would not be affected, it had
|
|
Borislav Petkov |
c4753d |
better set the relevant ARCH_CAP_$FOO_NO bit in
|
|
Borislav Petkov |
c4753d |
IA32_ARCH_CAPABILITIES.
|
|
Borislav Petkov |
c4753d |
|
|
Borislav Petkov |
c4753d |
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
|
|
Borislav Petkov |
c4753d |
Signed-off-by: Borislav Petkov <bp@suse.de>
|
|
Borislav Petkov |
c4753d |
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
|
|
Borislav Petkov |
c4753d |
Signed-off-by: Borislav Petkov <bp@suse.de>
|
|
Borislav Petkov |
c4753d |
---
|
|
Borislav Petkov |
c4753d |
arch/x86/kernel/cpu/common.c | 37 ++++++++++++++++---------------------
|
|
Borislav Petkov |
c4753d |
1 file changed, 16 insertions(+), 21 deletions(-)
|
|
Borislav Petkov |
c4753d |
|
|
Borislav Petkov |
c4753d |
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
|
|
Borislav Petkov |
c4753d |
index 75a5c720c852..42d3c7e5f4d7 100644
|
|
Borislav Petkov |
c4753d |
--- a/arch/x86/kernel/cpu/common.c
|
|
Borislav Petkov |
c4753d |
+++ b/arch/x86/kernel/cpu/common.c
|
|
Borislav Petkov |
c4753d |
@@ -1232,32 +1232,27 @@ static const struct x86_cpu_id cpu_vuln_blacklist[] __initconst = {
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(HASWELL, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(HASWELL_L, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(HASWELL_G, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(HASWELL_X, BIT(2) | BIT(4), MMIO),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(BROADWELL_D, X86_STEPPINGS(0x3, 0x5), MMIO),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(HASWELL_X, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(BROADWELL_D, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(BROADWELL_G, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(BROADWELL_X, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(BROADWELL, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPINGS(0x3, 0x3), SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(SKYLAKE_X, BIT(3) | BIT(4) | BIT(6) |
|
|
Borislav Petkov |
c4753d |
- BIT(7) | BIT(0xB), MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPINGS(0x3, 0x3), SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPINGS(0x9, 0xC), SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPINGS(0x0, 0x8), SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPINGS(0x9, 0xD), SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPINGS(0x0, 0x8), SRBDS),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ICELAKE_L, X86_STEPPINGS(0x5, 0x5), MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ICELAKE_D, X86_STEPPINGS(0x1, 0x1), MMIO),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ICELAKE_X, X86_STEPPINGS(0x4, 0x6), MMIO),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(COMETLAKE, BIT(2) | BIT(3) | BIT(5), MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(COMETLAKE_L, X86_STEPPINGS(0x1, 0x1), MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(SKYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(SKYLAKE_X, X86_STEPPING_ANY, MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(SKYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(KABYLAKE_L, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(KABYLAKE, X86_STEPPING_ANY, SRBDS | MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ICELAKE_L, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ICELAKE_D, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ICELAKE_X, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(COMETLAKE, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(COMETLAKE_L, X86_STEPPINGS(0x0, 0x0), MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(LAKEFIELD, X86_STEPPINGS(0x1, 0x1), MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ROCKETLAKE, X86_STEPPINGS(0x1, 0x1), MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ATOM_TREMONT, X86_STEPPINGS(0x1, 0x1), MMIO | MMIO_SBDS),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(COMETLAKE_L, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(LAKEFIELD, X86_STEPPING_ANY, MMIO | MMIO_SBDS | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ROCKETLAKE, X86_STEPPING_ANY, MMIO | RETBLEED),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ATOM_TREMONT, X86_STEPPING_ANY, MMIO | MMIO_SBDS),
|
|
Borislav Petkov |
c4753d |
VULNBL_INTEL_STEPPINGS(ATOM_TREMONT_D, X86_STEPPING_ANY, MMIO),
|
|
Borislav Petkov |
c4753d |
- VULNBL_INTEL_STEPPINGS(ATOM_TREMONT_L, X86_STEPPINGS(0x0, 0x0), MMIO | MMIO_SBDS),
|
|
Borislav Petkov |
c4753d |
+ VULNBL_INTEL_STEPPINGS(ATOM_TREMONT_L, X86_STEPPING_ANY, MMIO | MMIO_SBDS),
|
|
Borislav Petkov |
c4753d |
|
|
Borislav Petkov |
c4753d |
VULNBL_AMD(0x15, RETBLEED),
|
|
Borislav Petkov |
c4753d |
VULNBL_AMD(0x16, RETBLEED),
|
|
Borislav Petkov |
c4753d |
|