KVM: nVMX: do not use dangling shadow VMCS after guest reset
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 19 Jul 2019 16:41:10 +0000 (18:41 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 20 Jul 2019 07:00:47 +0000 (09:00 +0200)
commit88dddc11a8d6b09201b4db9d255b3394d9bc9e57
tree286cb8c531c862040deb05e5746f65dacf1c9150
parent3b20e03a1066ab2056711166c1b41d421d1ff7b7
KVM: nVMX: do not use dangling shadow VMCS after guest reset

If a KVM guest is reset while running a nested guest, free_nested will
disable the shadow VMCS execution control in the vmcs01.  However,
on the next KVM_RUN vmx_vcpu_run would nevertheless try to sync
the VMCS12 to the shadow VMCS which has since been freed.

This causes a vmptrld of a NULL pointer on my machime, but Jan reports
the host to hang altogether.  Let's see how much this trivial patch fixes.

Reported-by: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Liran Alon <liran.alon@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/nested.c