]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
KVM: VMX: avoid guest hang on invalid invept instruction
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 18 Mar 2016 15:53:29 +0000 (16:53 +0100)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 26 May 2016 22:46:37 +0000 (15:46 -0700)
Orabug: 23331149

[ Upstream commit 2849eb4f99d54925c543db12917127f88b3c38ff ]

A guest executing an invalid invept instruction would hang
because the instruction pointer was not updated.

Cc: stable@vger.kernel.org
Fixes: bfd0a56b90005f8c8a004baf407ad90045c2b11e
Reviewed-by: David Matlack <dmatlack@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
(cherry picked from commit 7a33539146bdcbbce25dbe93e853f39058c640a9)

Signed-off-by: Dan Duval <dan.duval@oracle.com>
arch/x86/kvm/vmx.c

index f66d6adec6ad36e2842b96cf13ea6c6f55b8f7b3..2790ecbfa376abd7ffcae7a8a967f8e8af3d401d 100644 (file)
@@ -7206,6 +7206,7 @@ static int handle_invept(struct kvm_vcpu *vcpu)
        if (!(types & (1UL << type))) {
                nested_vmx_failValid(vcpu,
                                VMXERR_INVALID_OPERAND_TO_INVEPT_INVVPID);
+               skip_emulated_instruction(vcpu);
                return 1;
        }