KVM: nVMX: fix lifetime issues for vmcs02
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 17 Jul 2014 10:25:16 +0000 (12:25 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 21 Jul 2014 12:29:49 +0000 (14:29 +0200)
commit4fa7734c62cdd8c07edd54fa5a5e91482273071a
treeb994a6b3bec1d29f4a2887e487648eb9124d3172
parentc9cdd085bb75226879fd468b88e2e7eb467325b7
KVM: nVMX: fix lifetime issues for vmcs02

free_nested needs the loaded_vmcs to be valid if it is a vmcs02, in
order to detach it from the shadow vmcs.  However, this is not
available anymore after commit 26a865f4aa8e (KVM: VMX: fix use after
free of vmx->loaded_vmcs, 2014-01-03).

Revert that patch, and fix its problem by forcing a vmcs01 as the
active VMCS before freeing all the nested VMX state.

Reported-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Tested-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx.c