x86/speculation: Correct Speculation Control microcode blacklist again

"Linux Kernel Mailing List" <[email protected]> Thu, 15 Feb 2018 01:31:42 +0000 (UTC)
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/d37fc6d360a404b208547ba112e7dabb6533c7fc
Commit:     d37fc6d360a404b208547ba112e7dabb6533c7fc
Parent:     1751342095f0d2b36fa8114d8e12c5688c455ac4
Refname:    refs/heads/master
Author:     David Woodhouse <[email protected]>
AuthorDate: Mon Feb 12 15:27:34 2018 +0000
Committer:  Ingo Molnar <[email protected]>
CommitDate: Tue Feb 13 08:58:59 2018 +0100

    x86/speculation: Correct Speculation Control microcode blacklist again
    
    Arjan points out that the Intel document only clears the 0xc2 microcode
    on *some* parts with CPUID 506E3 (INTEL_FAM6_SKYLAKE_DESKTOP stepping 3).
    For the Skylake H/S platform it's OK but for Skylake E3 which has the
    same CPUID it isn't (yet) cleared.
    
    So removing it from the blacklist was premature. Put it back for now.
    
    Also, Arjan assures me that the 0x84 microcode for Kaby Lake which was
    featured in one of the early revisions of the Intel document was never
    released to the public, and won't be until/unless it is also validated
    as safe. So those can change to 0x80 which is what all *other* versions
    of the doc have identified.
    
    Once the retrospective testing of existing public microcodes is done, we
    should be back into a mode where new microcodes are only released in
    batches and we shouldn't even need to update the blacklist for those
    anyway, so this tweaking of the list isn't expected to be a thing which
    keeps happening.
    
    Requested-by: Arjan van de Ven <[email protected]>
    Signed-off-by: David Woodhouse <[email protected]>
    Cc: Andy Lutomirski <[email protected]>
    Cc: Arjan van de Ven <[email protected]>
    Cc: Borislav Petkov <[email protected]>
    Cc: Dan Williams <[email protected]>
    Cc: Dave Hansen <[email protected]>
    Cc: David Woodhouse <[email protected]>
    Cc: Greg Kroah-Hartman <[email protected]>
    Cc: Josh Poimboeuf <[email protected]>
    Cc: Linus Torvalds <[email protected]>
    Cc: Peter Zijlstra <[email protected]>
    Cc: Thomas Gleixner <[email protected]>
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Cc: [email protected]
    Link: http://lkml.kernel.org/r/[email protected]
    Signed-off-by: Ingo Molnar <[email protected]>
---
 arch/x86/kernel/cpu/intel.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
index f73b8148dd55..ef796f14f7ae 100644
--- a/arch/x86/kernel/cpu/intel.c
+++ b/arch/x86/kernel/cpu/intel.c
@@ -116,13 +116,14 @@ struct sku_microcode {
 	u32 microcode;
 };
 static const struct sku_microcode spectre_bad_microcodes[] = {
-	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x0B,	0x84 },
-	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x0A,	0x84 },
-	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x09,	0x84 },
-	{ INTEL_FAM6_KABYLAKE_MOBILE,	0x0A,	0x84 },
-	{ INTEL_FAM6_KABYLAKE_MOBILE,	0x09,	0x84 },
+	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x0B,	0x80 },
+	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x0A,	0x80 },
+	{ INTEL_FAM6_KABYLAKE_DESKTOP,	0x09,	0x80 },
+	{ INTEL_FAM6_KABYLAKE_MOBILE,	0x0A,	0x80 },
+	{ INTEL_FAM6_KABYLAKE_MOBILE,	0x09,	0x80 },
 	{ INTEL_FAM6_SKYLAKE_X,		0x03,	0x0100013e },
 	{ INTEL_FAM6_SKYLAKE_X,		0x04,	0x0200003c },
+	{ INTEL_FAM6_SKYLAKE_DESKTOP,	0x03,	0xc2 },
 	{ INTEL_FAM6_BROADWELL_CORE,	0x04,	0x28 },
 	{ INTEL_FAM6_BROADWELL_GT3E,	0x01,	0x1b },
 	{ INTEL_FAM6_BROADWELL_XEON_D,	0x02,	0x14 },
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html