All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: arch/x86/kvm/svm/sev.c:454 __sev_guest_init() warn: missing error code 'ret'
Date: Sat, 19 Oct 2024 22:33:17 +0800	[thread overview]
Message-ID: <202410192220.MeTyHPxI-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Brijesh Singh <brijesh.singh@amd.com>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Alexey Kardashevskiy <aik@amd.com>
CC: Ashish Kalra <ashish.kalra@amd.com>
CC: Tom Lendacky <thomas.lendacky@amd.com>
CC: Liam Merwick <liam.merwick@oracle.com>
CC: Michael Roth <michael.roth@amd.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3d5ad2d4eca337e80f38df77de89614aa5aaceb9
commit: 88caf544c9305313e1c48ac1a437faa5df8fff06 KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event
date:   3 months ago
:::::: branch date: 15 hours ago
:::::: commit date: 3 months ago
config: x86_64-randconfig-161-20241016 (https://download.01.org/0day-ci/archive/20241019/202410192220.MeTyHPxI-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202410192220.MeTyHPxI-lkp@intel.com/

New smatch warnings:
arch/x86/kvm/svm/sev.c:454 __sev_guest_init() warn: missing error code 'ret'

Old smatch warnings:
arch/x86/kvm/svm/sev.c:801 sev_launch_update_data() error: uninitialized symbol 'ret'.
arch/x86/kvm/svm/sev.c:951 sev_launch_update_vmsa() warn: iterator 'i' not incremented
arch/x86/kvm/svm/sev.c:1912 sev_lock_vcpus_for_migration() warn: iterator 'i' not incremented
arch/x86/kvm/svm/sev.c:1932 sev_lock_vcpus_for_migration() warn: iterator 'j' not incremented
arch/x86/kvm/svm/sev.c:1952 sev_unlock_vcpus_for_migration() warn: iterator 'i' not incremented
arch/x86/kvm/svm/sev.c:2013 sev_migrate_from() warn: iterator 'i' not incremented
arch/x86/kvm/svm/sev.c:2056 sev_check_source_vcpus() warn: iterator 'i' not incremented
arch/x86/kvm/svm/sev.c:2352 sev_gmem_post_populate() warn: maybe return -EFAULT instead of the bytes remaining?
arch/x86/kvm/svm/sev.c:2450 snp_launch_update_vmsa() warn: iterator 'i' not incremented
include/linux/kvm_host.h:977 kvm_get_vcpu_by_id() warn: iterator 'i' not incremented

vim +/ret +454 arch/x86/kvm/svm/sev.c

88caf544c93053 Brijesh Singh         2024-07-01  401  
4f5defae708992 Paolo Bonzini         2024-04-04  402  static int __sev_guest_init(struct kvm *kvm, struct kvm_sev_cmd *argp,
4f5defae708992 Paolo Bonzini         2024-04-04  403  			    struct kvm_sev_init *data,
4f5defae708992 Paolo Bonzini         2024-04-04  404  			    unsigned long vm_type)
eaf78265a4ab33 Joerg Roedel          2020-03-24  405  {
eaf78265a4ab33 Joerg Roedel          2020-03-24  406  	struct kvm_sev_info *sev = &to_kvm_svm(kvm)->sev_info;
1ca5614b84eed5 Brijesh Singh         2024-01-25  407  	struct sev_platform_init_args init_args = {0};
4f5defae708992 Paolo Bonzini         2024-04-04  408  	bool es_active = vm_type != KVM_X86_SEV_VM;
4f5defae708992 Paolo Bonzini         2024-04-04  409  	u64 valid_vmsa_features = es_active ? sev_supported_vmsa_features : 0;
cc4ce37bed8598 Sean Christopherson   2024-01-31  410  	int ret;
eaf78265a4ab33 Joerg Roedel          2020-03-24  411  
8727906fde6ea6 Sean Christopherson   2021-03-30  412  	if (kvm->created_vcpus)
8727906fde6ea6 Sean Christopherson   2021-03-30  413  		return -EINVAL;
8727906fde6ea6 Sean Christopherson   2021-03-30  414  
4f5defae708992 Paolo Bonzini         2024-04-04  415  	if (data->flags)
4f5defae708992 Paolo Bonzini         2024-04-04  416  		return -EINVAL;
4f5defae708992 Paolo Bonzini         2024-04-04  417  
4f5defae708992 Paolo Bonzini         2024-04-04  418  	if (data->vmsa_features & ~valid_vmsa_features)
26c44aa9e076ed Paolo Bonzini         2024-04-04  419  		return -EINVAL;
26c44aa9e076ed Paolo Bonzini         2024-04-04  420  
4af663c2f64a8d Michael Roth          2024-05-01  421  	if (data->ghcb_version > GHCB_VERSION_MAX || (!es_active && data->ghcb_version))
4af663c2f64a8d Michael Roth          2024-05-01  422  		return -EINVAL;
4af663c2f64a8d Michael Roth          2024-05-01  423  
eaf78265a4ab33 Joerg Roedel          2020-03-24  424  	if (unlikely(sev->active))
fdd58834d13204 Sean Christopherson   2024-01-31  425  		return -EINVAL;
eaf78265a4ab33 Joerg Roedel          2020-03-24  426  
a41fb26e616973 Sean Christopherson   2021-11-09  427  	sev->active = true;
4f5defae708992 Paolo Bonzini         2024-04-04  428  	sev->es_active = es_active;
4f5defae708992 Paolo Bonzini         2024-04-04  429  	sev->vmsa_features = data->vmsa_features;
4af663c2f64a8d Michael Roth          2024-05-01  430  	sev->ghcb_version = data->ghcb_version;
4af663c2f64a8d Michael Roth          2024-05-01  431  
4af663c2f64a8d Michael Roth          2024-05-01  432  	/*
4af663c2f64a8d Michael Roth          2024-05-01  433  	 * Currently KVM supports the full range of mandatory features defined
4af663c2f64a8d Michael Roth          2024-05-01  434  	 * by version 2 of the GHCB protocol, so default to that for SEV-ES
4af663c2f64a8d Michael Roth          2024-05-01  435  	 * guests created via KVM_SEV_INIT2.
4af663c2f64a8d Michael Roth          2024-05-01  436  	 */
4af663c2f64a8d Michael Roth          2024-05-01  437  	if (sev->es_active && !sev->ghcb_version)
4af663c2f64a8d Michael Roth          2024-05-01  438  		sev->ghcb_version = GHCB_VERSION_DEFAULT;
605bbdc12bc883 Paolo Bonzini         2024-04-04  439  
1dfe571c12cf99 Brijesh Singh         2024-05-01  440  	if (vm_type == KVM_X86_SNP_VM)
1dfe571c12cf99 Brijesh Singh         2024-05-01  441  		sev->vmsa_features |= SVM_SEV_FEAT_SNP_ACTIVE;
1dfe571c12cf99 Brijesh Singh         2024-05-01  442  
cc4ce37bed8598 Sean Christopherson   2024-01-31  443  	ret = sev_asid_new(sev);
cc4ce37bed8598 Sean Christopherson   2024-01-31  444  	if (ret)
fd49e8ee70b306 Paolo Bonzini         2021-04-22  445  		goto e_no_asid;
eaf78265a4ab33 Joerg Roedel          2020-03-24  446  
1ca5614b84eed5 Brijesh Singh         2024-01-25  447  	init_args.probe = false;
1ca5614b84eed5 Brijesh Singh         2024-01-25  448  	ret = sev_platform_init(&init_args);
eaf78265a4ab33 Joerg Roedel          2020-03-24  449  	if (ret)
eaf78265a4ab33 Joerg Roedel          2020-03-24  450  		goto e_free;
eaf78265a4ab33 Joerg Roedel          2020-03-24  451  
88caf544c93053 Brijesh Singh         2024-07-01  452  	/* This needs to happen after SEV/SNP firmware initialization. */
88caf544c93053 Brijesh Singh         2024-07-01  453  	if (vm_type == KVM_X86_SNP_VM && snp_guest_req_init(kvm))
88caf544c93053 Brijesh Singh         2024-07-01 @454  		goto e_free;
88caf544c93053 Brijesh Singh         2024-07-01  455  
eaf78265a4ab33 Joerg Roedel          2020-03-24  456  	INIT_LIST_HEAD(&sev->regions_list);
b2125513dfc0dd Peter Gonda           2022-02-11  457  	INIT_LIST_HEAD(&sev->mirror_vms);
26c44aa9e076ed Paolo Bonzini         2024-04-04  458  	sev->need_init = false;
eaf78265a4ab33 Joerg Roedel          2020-03-24  459  
c538dc792ff7e4 Suravee Suthikulpanit 2022-04-08  460  	kvm_set_apicv_inhibit(kvm, APICV_INHIBIT_REASON_SEV);
c538dc792ff7e4 Suravee Suthikulpanit 2022-04-08  461  
eaf78265a4ab33 Joerg Roedel          2020-03-24  462  	return 0;
eaf78265a4ab33 Joerg Roedel          2020-03-24  463  
eaf78265a4ab33 Joerg Roedel          2020-03-24  464  e_free:
1ca5614b84eed5 Brijesh Singh         2024-01-25  465  	argp->error = init_args.error;
7aef27f0b2a8a5 Vipin Sharma          2021-03-29  466  	sev_asid_free(sev);
7aef27f0b2a8a5 Vipin Sharma          2021-03-29  467  	sev->asid = 0;
fd49e8ee70b306 Paolo Bonzini         2021-04-22  468  e_no_asid:
605bbdc12bc883 Paolo Bonzini         2024-04-04  469  	sev->vmsa_features = 0;
fd49e8ee70b306 Paolo Bonzini         2021-04-22  470  	sev->es_active = false;
a41fb26e616973 Sean Christopherson   2021-11-09  471  	sev->active = false;
eaf78265a4ab33 Joerg Roedel          2020-03-24  472  	return ret;
eaf78265a4ab33 Joerg Roedel          2020-03-24  473  }
eaf78265a4ab33 Joerg Roedel          2020-03-24  474  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2024-10-19 14:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-19 14:33 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-21  7:28 arch/x86/kvm/svm/sev.c:454 __sev_guest_init() warn: missing error code 'ret' Dan Carpenter
2024-10-22 17:28 ` Sean Christopherson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202410192220.MeTyHPxI-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.