diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2013-03-19 12:36:46 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-04-05 10:16:37 -0700 |
commit | d104388ff9bdb5ec76d5337cd94f9ed4bbf73fbc (patch) | |
tree | 47ad30d1ce265c83ce110118f2cf57d013b5d5b8 /arch | |
parent | 8c7028941242372574880e513207abdbe486c3e5 (diff) | |
download | lwn-d104388ff9bdb5ec76d5337cd94f9ed4bbf73fbc.tar.gz lwn-d104388ff9bdb5ec76d5337cd94f9ed4bbf73fbc.zip |
KVM: Clean up error handling during VCPU creation
commit d780592b99d7d8a5ff905f6bacca519d4a342c76 upstream.
So far kvm_arch_vcpu_setup is responsible for freeing the vcpu struct if
it fails. Move this confusing resonsibility back into the hands of
kvm_vm_ioctl_create_vcpu. Only kvm_arch_vcpu_setup of x86 is affected,
all other archs cannot fail.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/x86.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index fbb093601b5a..681eab7ce0dc 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -6116,12 +6116,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) if (r == 0) r = kvm_mmu_setup(vcpu); vcpu_put(vcpu); - if (r < 0) - goto free_vcpu; - return 0; -free_vcpu: - kvm_x86_ops->vcpu_free(vcpu); return r; } |