]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
KVM: s390: Cleanup kvm_arch_init error path
authorJanosch Frank <frankja@linux.ibm.com>
Wed, 2 Oct 2019 07:56:27 +0000 (03:56 -0400)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 4 Oct 2019 13:37:53 +0000 (15:37 +0200)
Both kvm_s390_gib_destroy and debug_unregister test if the needed
pointers are not NULL and hence can be called unconditionally.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Link: https://lore.kernel.org/kvm/20191002075627.3582-1-frankja@linux.ibm.com
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/kvm-s390.c

index f6db0f1bc86749ab5d513a153e3abbe341408db7..40af442b2e150aafc65b15e99509b01c2fc36f17 100644 (file)
@@ -453,16 +453,14 @@ static void kvm_s390_cpu_feat_init(void)
 
 int kvm_arch_init(void *opaque)
 {
-       int rc;
+       int rc = -ENOMEM;
 
        kvm_s390_dbf = debug_register("kvm-trace", 32, 1, 7 * sizeof(long));
        if (!kvm_s390_dbf)
                return -ENOMEM;
 
-       if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view)) {
-               rc = -ENOMEM;
-               goto out_debug_unreg;
-       }
+       if (debug_register_view(kvm_s390_dbf, &debug_sprintf_view))
+               goto out;
 
        kvm_s390_cpu_feat_init();
 
@@ -470,19 +468,17 @@ int kvm_arch_init(void *opaque)
        rc = kvm_register_device_ops(&kvm_flic_ops, KVM_DEV_TYPE_FLIC);
        if (rc) {
                pr_err("A FLIC registration call failed with rc=%d\n", rc);
-               goto out_debug_unreg;
+               goto out;
        }
 
        rc = kvm_s390_gib_init(GAL_ISC);
        if (rc)
-               goto out_gib_destroy;
+               goto out;
 
        return 0;
 
-out_gib_destroy:
-       kvm_s390_gib_destroy();
-out_debug_unreg:
-       debug_unregister(kvm_s390_dbf);
+out:
+       kvm_arch_exit();
        return rc;
 }