KVM: VMX: check descriptor table exits on instruction emulation
authorOliver Upton <oupton@google.com>
Sat, 29 Feb 2020 19:30:14 +0000 (11:30 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sun, 1 Mar 2020 18:26:31 +0000 (19:26 +0100)
commit86f7e90ce840aa1db407d3ea6e9b3a52b2ce923c
tree7679ea76c6ff795ed0d53bc755aa43d77b4ce7a5
parente951445f4d3b5d0df69c0c5d18ab1e9058c20e52
KVM: VMX: check descriptor table exits on instruction emulation

KVM emulates UMIP on hardware that doesn't support it by setting the
'descriptor table exiting' VM-execution control and performing
instruction emulation. When running nested, this emulation is broken as
KVM refuses to emulate L2 instructions by default.

Correct this regression by allowing the emulation of descriptor table
instructions if L1 hasn't requested 'descriptor table exiting'.

Fixes: 07721feee46b ("KVM: nVMX: Don't emulate instructions in guest mode")
Reported-by: Jan Kiszka <jan.kiszka@web.de>
Cc: stable@vger.kernel.org
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Jim Mattson <jmattson@google.com>
Signed-off-by: Oliver Upton <oupton@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/vmx.c