KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks
authorMarios Pomonis <pomonis@google.com>
Wed, 11 Dec 2019 20:47:44 +0000 (12:47 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 May 2020 20:19:37 +0000 (21:19 +0100)
commitdfe2282f8e4de99b37b13aa52720a9b3646ea857
tree80ea6e0225071a03498e725fb2100b356d7d7bcc
parent6356cde8b18ae7eb06a93d001e996168fce3efce
KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks

commit 8c86405f606ca8508b8d9280680166ca26723695 upstream.

This fixes a Spectre-v1/L1TF vulnerability in ioapic_read_indirect().
This function contains index computations based on the
(attacker-controlled) IOREGSEL register.

Fixes: a2c118bfab8b ("KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)")
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: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
virt/kvm/ioapic.c