KVM: Don't destroy vcpu in case vcpu_setup fails
authorGlauber Costa <glommer@redhat.com>
Thu, 6 Aug 2009 17:39:57 +0000 (14:39 -0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 9 Sep 2009 03:17:16 +0000 (20:17 -0700)
commitf7e4e13de304466a40f01426e307af36c0bd9870
tree605b065c6768208539e66fc1ccf93daf62e75bd9
parent66b7e6fe99e9486f4a61acfcfd32f6a7094c9cd0
KVM: Don't destroy vcpu in case vcpu_setup fails

(cherry picked from commit 7d8fece678c1abc2ca3e1ceda2277c3538a9161c)

One of vcpu_setup responsibilities is to do mmu initialization.
However, in case we fail in kvm_arch_vcpu_reset, before we get the
chance to init mmu. OTOH, vcpu_destroy will attempt to destroy mmu,
triggering a bug. Keeping track of whether or not mmu is initialized
would unnecessarily complicate things. Rather, we just make return,
making sure any needed uninitialization is done before we return, in
case we fail.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
virt/kvm/kvm_main.c