KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c
authorMarios Pomonis <pomonis@google.com>
Wed, 11 Dec 2019 20:47:49 +0000 (12:47 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 May 2020 20:19:38 +0000 (21:19 +0100)
commit37d1c23edefc176c5b54fb5447f94ae2b5c06105
tree24f3bb68e98db7e7d2ecd3dff6fb001a232a1ed3
parent528bb39449961c9177b540931a1e39fb6c427707
KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c

commit 6ec4c5eee1750d5d17951c4e1960d953376a0dda upstream.

This fixes a Spectre-v1/L1TF vulnerability in set_msr_mce() and
get_msr_mce().
Both functions contain index computations based on the
(attacker-controlled) MSR number.

Fixes: 890ca9aefa78 ("KVM: Add MCE support")
Signed-off-by: Nick Finco <nifi@google.com>
Signed-off-by: Marios Pomonis <pomonis@google.com>
Reviewed-by: Andrew Honig <ahonig@google.com>
Reviewed-by: Jim Mattson <jmattson@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[bwh: Backported to 3.16: Add #include <linux/nospec.h>]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/kvm/x86.c