aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDominik Dingel <dingel@linux.vnet.ibm.com>2015-03-12 08:55:53 -0400
committerChristian Borntraeger <borntraeger@de.ibm.com>2015-03-17 11:24:11 -0400
commit40f5b735e867b8fd3e6090f5a184950c68d227bb (patch)
tree7cd0ad5a76c91beeb4c32c7ff6732e0203d3508a /arch
parent1e8d242478a471b92b07e7966faa9f618df98e61 (diff)
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/kvm/kvm-s390.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index 02e03c862a60..4075acb7c517 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -897,7 +897,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
897 897
898 kvm->arch.dbf = debug_register(debug_name, 8, 2, 8 * sizeof(long)); 898 kvm->arch.dbf = debug_register(debug_name, 8, 2, 8 * sizeof(long));
899 if (!kvm->arch.dbf) 899 if (!kvm->arch.dbf)
900 goto out_nodbf; 900 goto out_err;
901 901
902 /* 902 /*
903 * The architectural maximum amount of facilities is 16 kbit. To store 903 * 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)
909 kvm->arch.model.fac = 909 kvm->arch.model.fac =
910 (struct kvm_s390_fac *) get_zeroed_page(GFP_KERNEL | GFP_DMA); 910 (struct kvm_s390_fac *) get_zeroed_page(GFP_KERNEL | GFP_DMA);
911 if (!kvm->arch.model.fac) 911 if (!kvm->arch.model.fac)
912 goto out_nofac; 912 goto out_err;
913 913
914 /* Populate the facility mask initially. */ 914 /* Populate the facility mask initially. */
915 memcpy(kvm->arch.model.fac->mask, S390_lowcore.stfle_fac_list, 915 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)
929 kvm->arch.model.ibc = sclp_get_ibc() & 0x0fff; 929 kvm->arch.model.ibc = sclp_get_ibc() & 0x0fff;
930 930
931 if (kvm_s390_crypto_init(kvm) < 0) 931 if (kvm_s390_crypto_init(kvm) < 0)
932 goto out_crypto; 932 goto out_err;
933 933
934 spin_lock_init(&kvm->arch.float_int.lock); 934 spin_lock_init(&kvm->arch.float_int.lock);
935 INIT_LIST_HEAD(&kvm->arch.float_int.list); 935 INIT_LIST_HEAD(&kvm->arch.float_int.list);
@@ -944,7 +944,7 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
944 } else { 944 } else {
945 kvm->arch.gmap = gmap_alloc(current->mm, (1UL << 44) - 1); 945 kvm->arch.gmap = gmap_alloc(current->mm, (1UL << 44) - 1);
946 if (!kvm->arch.gmap) 946 if (!kvm->arch.gmap)
947 goto out_nogmap; 947 goto out_err;
948 kvm->arch.gmap->private = kvm; 948 kvm->arch.gmap->private = kvm;
949 kvm->arch.gmap->pfault_enabled = 0; 949 kvm->arch.gmap->pfault_enabled = 0;
950 } 950 }
@@ -957,15 +957,11 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
957 spin_lock_init(&kvm->arch.start_stop_lock); 957 spin_lock_init(&kvm->arch.start_stop_lock);
958 958
959 return 0; 959 return 0;
960out_nogmap: 960out_err:
961 kfree(kvm->arch.crypto.crycb); 961 kfree(kvm->arch.crypto.crycb);
962out_crypto:
963 free_page((unsigned long)kvm->arch.model.fac); 962 free_page((unsigned long)kvm->arch.model.fac);
964out_nofac:
965 debug_unregister(kvm->arch.dbf); 963 debug_unregister(kvm->arch.dbf);
966out_nodbf:
967 free_page((unsigned long)(kvm->arch.sca)); 964 free_page((unsigned long)(kvm->arch.sca));
968out_err:
969 return rc; 965 return rc;
970} 966}
971 967