kvm: vmx: Scrub hardware GPRs at VM-exit
authorJim Mattson <jmattson@google.com>
Wed, 3 Jan 2018 22:31:38 +0000 (14:31 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 19 Mar 2018 18:58:27 +0000 (18:58 +0000)
commit68644299d105fc2980515196b598037c0a502fb0
tree9294f759e0ea4a07e49780129ef721bdd9d24989
parent67e4ef24361bb5b530bfbf1fe38d31beac3289cb
kvm: vmx: Scrub hardware GPRs at VM-exit

commit 0cb5b30698fdc8f6b4646012e3acb4ddce430788 upstream.

Guest GPR values are live in the hardware GPRs at VM-exit.  Do not
leave any guest values in hardware GPRs after the guest GPR values are
saved to the vcpu_vmx structure.

This is a partial mitigation for CVE 2017-5715 and CVE 2017-5753.
Specifically, it defeats the Project Zero PoC for CVE 2017-5715.

Suggested-by: Eric Northup <digitaleric@google.com>
Signed-off-by: Jim Mattson <jmattson@google.com>
Reviewed-by: Eric Northup <digitaleric@google.com>
Reviewed-by: Benjamin Serebrin <serebrin@google.com>
Reviewed-by: Andrew Honig <ahonig@google.com>
[Paolo: Add AMD bits, Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c