]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: TDX: Fix uninitialized error code for __tdx_bringup()
authorTony Lindgren <tony.lindgren@linux.intel.com>
Thu, 18 Sep 2025 05:32:25 +0000 (08:32 +0300)
committerSean Christopherson <seanjc@google.com>
Fri, 19 Sep 2025 22:25:34 +0000 (15:25 -0700)
Fix a Smatch static checker warning reported by Dan:

arch/x86/kvm/vmx/tdx.c:3464 __tdx_bringup()
warn: missing error code 'r'

Initialize r to -EINVAL before tdx_get_sysinfo() to simplify the code and
to prevent similar issues from sneaking in later on as suggested by Kai.

Cc: stable@vger.kernel.org
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Fixes: 61bb28279623 ("KVM: TDX: Get system-wide info about TDX module on initialization")
Suggested-by: Kai Huang <kai.huang@intel.com>
Reviewed-by: Kai Huang <kai.huang@intel.com>
Signed-off-by: Tony Lindgren <tony.lindgren@linux.intel.com>
Link: https://lore.kernel.org/r/20250918053226.802204-1-tony.lindgren@linux.intel.com
[sean: tag for stable]
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/tdx.c

index 6784aaaced87b23ae3896acebf1eebb44bfa1050..36c15035ecb43e8193ad2587851a8e7733a91b5a 100644 (file)
@@ -3457,12 +3457,11 @@ static int __init __tdx_bringup(void)
        if (r)
                goto tdx_bringup_err;
 
+       r = -EINVAL;
        /* Get TDX global information for later use */
        tdx_sysinfo = tdx_get_sysinfo();
-       if (WARN_ON_ONCE(!tdx_sysinfo)) {
-               r = -EINVAL;
+       if (WARN_ON_ONCE(!tdx_sysinfo))
                goto get_sysinfo_err;
-       }
 
        /* Check TDX module and KVM capabilities */
        if (!tdx_get_supported_attrs(&tdx_sysinfo->td_conf) ||
@@ -3505,14 +3504,11 @@ static int __init __tdx_bringup(void)
        if (td_conf->max_vcpus_per_td < num_present_cpus()) {
                pr_err("Disable TDX: MAX_VCPU_PER_TD (%u) smaller than number of logical CPUs (%u).\n",
                                td_conf->max_vcpus_per_td, num_present_cpus());
-               r = -EINVAL;
                goto get_sysinfo_err;
        }
 
-       if (misc_cg_set_capacity(MISC_CG_RES_TDX, tdx_get_nr_guest_keyids())) {
-               r = -EINVAL;
+       if (misc_cg_set_capacity(MISC_CG_RES_TDX, tdx_get_nr_guest_keyids()))
                goto get_sysinfo_err;
-       }
 
        /*
         * Leave hardware virtualization enabled after TDX is enabled