Message ID | 1524748479-38263-1-git-send-email-yi.y.sun@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Sorry, a mistake. Please ignore this patch. We will send the whole set out later. On 18-04-26 21:14:39, Yi Sun wrote: > From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > > commit 36268223c1e9981d6cfc33aff8520b3bde4b8114 upstream. > > As: > > 1) It's known that hypervisors lie about the environment anyhow (host > mismatch) > > 2) Even if the hypervisor (Xen, KVM, VMWare, etc) provided a valid > "correct" value, it all gets to be very murky when migration happens > (do you provide the "new" microcode of the machine?). > > And in reality the cloud vendors are the ones that should make sure that > the microcode that is running is correct and we should just sing lalalala > and trust them. > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de> > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> > Cc: Wanpeng Li <kernellwp@gmail.com> > Cc: kvm <kvm@vger.kernel.org> > Cc: Krčmář <rkrcmar@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > CC: "H. Peter Anvin" <hpa@zytor.com> > CC: stable@vger.kernel.org > Link: https://lkml.kernel.org/r/20180226213019.GE9497@char.us.oracle.com > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > [Yi Sun: cherry pick to 4.4] > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c index af28610..221c030 100644 --- a/arch/x86/kernel/cpu/intel.c +++ b/arch/x86/kernel/cpu/intel.c @@ -71,6 +71,13 @@ static bool bad_spectre_microcode(struct cpuinfo_x86 *c) { int i; + /* + * We know that the hypervisor lie to us on the microcode version so + * we may as well hope that it is running the correct version. + */ + if (cpu_has(c, X86_FEATURE_HYPERVISOR)) + return false; + for (i = 0; i < ARRAY_SIZE(spectre_bad_microcodes); i++) { if (c->x86_model == spectre_bad_microcodes[i].model && c->x86_mask == spectre_bad_microcodes[i].stepping)