KVM: s390: cleanup jump lables in kvm_arch_init_vm
As all cleanup functions can handle their respective NULL case there is no need to have more than one error jump label. Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
1e8d242478
commit
40f5b735e8
1 changed files with 8 additions and 12 deletions
|
@ -897,7 +897,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
||||||
|
|
||||||
kvm->arch.dbf = debug_register(debug_name, 8, 2, 8 * sizeof(long));
|
kvm->arch.dbf = debug_register(debug_name, 8, 2, 8 * sizeof(long));
|
||||||
if (!kvm->arch.dbf)
|
if (!kvm->arch.dbf)
|
||||||
goto out_nodbf;
|
goto out_err;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The architectural maximum amount of facilities is 16 kbit. To store
|
* The architectural maximum amount of facilities is 16 kbit. To store
|
||||||
|
@ -909,7 +909,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
||||||
kvm->arch.model.fac =
|
kvm->arch.model.fac =
|
||||||
(struct kvm_s390_fac *) get_zeroed_page(GFP_KERNEL | GFP_DMA);
|
(struct kvm_s390_fac *) get_zeroed_page(GFP_KERNEL | GFP_DMA);
|
||||||
if (!kvm->arch.model.fac)
|
if (!kvm->arch.model.fac)
|
||||||
goto out_nofac;
|
goto out_err;
|
||||||
|
|
||||||
/* Populate the facility mask initially. */
|
/* Populate the facility mask initially. */
|
||||||
memcpy(kvm->arch.model.fac->mask, S390_lowcore.stfle_fac_list,
|
memcpy(kvm->arch.model.fac->mask, S390_lowcore.stfle_fac_list,
|
||||||
|
@ -929,7 +929,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
||||||
kvm->arch.model.ibc = sclp_get_ibc() & 0x0fff;
|
kvm->arch.model.ibc = sclp_get_ibc() & 0x0fff;
|
||||||
|
|
||||||
if (kvm_s390_crypto_init(kvm) < 0)
|
if (kvm_s390_crypto_init(kvm) < 0)
|
||||||
goto out_crypto;
|
goto out_err;
|
||||||
|
|
||||||
spin_lock_init(&kvm->arch.float_int.lock);
|
spin_lock_init(&kvm->arch.float_int.lock);
|
||||||
INIT_LIST_HEAD(&kvm->arch.float_int.list);
|
INIT_LIST_HEAD(&kvm->arch.float_int.list);
|
||||||
|
@ -944,7 +944,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
||||||
} else {
|
} else {
|
||||||
kvm->arch.gmap = gmap_alloc(current->mm, (1UL << 44) - 1);
|
kvm->arch.gmap = gmap_alloc(current->mm, (1UL << 44) - 1);
|
||||||
if (!kvm->arch.gmap)
|
if (!kvm->arch.gmap)
|
||||||
goto out_nogmap;
|
goto out_err;
|
||||||
kvm->arch.gmap->private = kvm;
|
kvm->arch.gmap->private = kvm;
|
||||||
kvm->arch.gmap->pfault_enabled = 0;
|
kvm->arch.gmap->pfault_enabled = 0;
|
||||||
}
|
}
|
||||||
|
@ -957,15 +957,11 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
|
||||||
spin_lock_init(&kvm->arch.start_stop_lock);
|
spin_lock_init(&kvm->arch.start_stop_lock);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
out_nogmap:
|
|
||||||
kfree(kvm->arch.crypto.crycb);
|
|
||||||
out_crypto:
|
|
||||||
free_page((unsigned long)kvm->arch.model.fac);
|
|
||||||
out_nofac:
|
|
||||||
debug_unregister(kvm->arch.dbf);
|
|
||||||
out_nodbf:
|
|
||||||
free_page((unsigned long)(kvm->arch.sca));
|
|
||||||
out_err:
|
out_err:
|
||||||
|
kfree(kvm->arch.crypto.crycb);
|
||||||
|
free_page((unsigned long)kvm->arch.model.fac);
|
||||||
|
debug_unregister(kvm->arch.dbf);
|
||||||
|
free_page((unsigned long)(kvm->arch.sca));
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue