]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: x86: Drop unnecessary goto+label in kvm_arch_init()
authorSean Christopherson <seanjc@google.com>
Fri, 15 Jul 2022 23:00:14 +0000 (23:00 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 28 Jul 2022 17:22:20 +0000 (13:22 -0400)
Return directly if kvm_arch_init() detects an error before doing any real
work, jumping through a label obfuscates what's happening and carries the
unnecessary risk of leaving 'r' uninitialized.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20220715230016.3762909-3-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c

index 12199c40f2bc54c5358d72d1ce33d4287c6d7c07..41aa3137665c34b9968554b3776199a00c8cc85f 100644 (file)
@@ -9146,21 +9146,18 @@ int kvm_arch_init(void *opaque)
 
        if (kvm_x86_ops.hardware_enable) {
                pr_err("kvm: already loaded vendor module '%s'\n", kvm_x86_ops.name);
-               r = -EEXIST;
-               goto out;
+               return -EEXIST;
        }
 
        if (!ops->cpu_has_kvm_support()) {
                pr_err_ratelimited("kvm: no hardware support for '%s'\n",
                                   ops->runtime_ops->name);
-               r = -EOPNOTSUPP;
-               goto out;
+               return -EOPNOTSUPP;
        }
        if (ops->disabled_by_bios()) {
                pr_err_ratelimited("kvm: support for '%s' disabled by bios\n",
                                   ops->runtime_ops->name);
-               r = -EOPNOTSUPP;
-               goto out;
+               return -EOPNOTSUPP;
        }
 
        /*
@@ -9170,14 +9167,12 @@ int kvm_arch_init(void *opaque)
         */
        if (!boot_cpu_has(X86_FEATURE_FPU) || !boot_cpu_has(X86_FEATURE_FXSR)) {
                printk(KERN_ERR "kvm: inadequate fpu\n");
-               r = -EOPNOTSUPP;
-               goto out;
+               return -EOPNOTSUPP;
        }
 
        if (IS_ENABLED(CONFIG_PREEMPT_RT) && !boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
                pr_err("RT requires X86_FEATURE_CONSTANT_TSC\n");
-               r = -EOPNOTSUPP;
-               goto out;
+               return -EOPNOTSUPP;
        }
 
        /*
@@ -9190,21 +9185,19 @@ int kvm_arch_init(void *opaque)
        if (rdmsrl_safe(MSR_IA32_CR_PAT, &host_pat) ||
            (host_pat & GENMASK(2, 0)) != 6) {
                pr_err("kvm: host PAT[0] is not WB\n");
-               r = -EIO;
-               goto out;
+               return -EIO;
        }
 
-       r = -ENOMEM;
-
        x86_emulator_cache = kvm_alloc_emulator_cache();
        if (!x86_emulator_cache) {
                pr_err("kvm: failed to allocate cache for x86 emulator\n");
-               goto out;
+               return -ENOMEM;
        }
 
        user_return_msrs = alloc_percpu(struct kvm_user_return_msrs);
        if (!user_return_msrs) {
                printk(KERN_ERR "kvm: failed to allocate percpu kvm_user_return_msrs\n");
+               r = -ENOMEM;
                goto out_free_x86_emulator_cache;
        }
        kvm_nr_uret_msrs = 0;
@@ -9235,7 +9228,6 @@ out_free_percpu:
        free_percpu(user_return_msrs);
 out_free_x86_emulator_cache:
        kmem_cache_destroy(x86_emulator_cache);
-out:
        return r;
 }