All of lore.kernel.org
 help / color / mirror / Atom feed
* [intel-tdx:guest 97/136] arch/x86/kvm/svm/svm.c:514:17: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
@ 2023-12-18  7:25 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-12-18  7:25 UTC (permalink / raw)
  To: Andi Kleen; +Cc: oe-kbuild-all, Kuppuswamy Sathyanarayanan

tree:   https://github.com/intel/tdx.git guest
head:   f3d7a7e86bf2f0d5ce629f2fb7be11dca88ac06d
commit: c34bfda30e18342b8ae7856fd59b76e9ca938460 [97/136] x86/tdx/paravirt: Move wrmsrl outside PARAVIRT_XXL
config: i386-randconfig-061-20230904 (https://download.01.org/0day-ci/archive/20231218/202312181532.SgsMpoxw-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231218/202312181532.SgsMpoxw-lkp@intel.com/reproduce)

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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312181532.SgsMpoxw-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   arch/x86/kvm/svm/svm.c: note: in included file (through arch/x86/include/asm/msr.h, arch/x86/include/asm/processor.h, arch/x86/include/asm/cpufeature.h, ...):
   arch/x86/include/asm/paravirt.h:120:38: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
   arch/x86/include/asm/paravirt.h:120:38: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
>> arch/x86/kvm/svm/svm.c:514:17: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
>> arch/x86/kvm/svm/svm.c:514:17: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)
>> arch/x86/kvm/svm/svm.c:514:17: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0)

vim +514 arch/x86/kvm/svm/svm.c

6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  480  
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  481  	struct svm_cpu_data *sd;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  482  	uint64_t efer;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  483  	struct desc_struct *gdt;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  484  	int me = raw_smp_processor_id();
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  485  
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  486  	rdmsrl(MSR_EFER, efer);
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  487  	if (efer & EFER_SVME)
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  488  		return -EBUSY;
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  489  
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  490  	if (!has_svm()) {
1f5b77f51a221f arch/x86/kvm/svm.c     Borislav Petkov   2012-10-20  491  		pr_err("%s: err EOPNOTSUPP on %d\n", __func__, me);
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  492  		return -EINVAL;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  493  	}
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  494  	sd = per_cpu(svm_data, me);
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  495  	if (!sd) {
1f5b77f51a221f arch/x86/kvm/svm.c     Borislav Petkov   2012-10-20  496  		pr_err("%s: svm_data is NULL on %d\n", __func__, me);
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  497  		return -EINVAL;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  498  	}
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  499  
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  500  	sd->asid_generation = 1;
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  501  	sd->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1;
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  502  	sd->next_asid = sd->max_asid + 1;
ed3cd233f80740 arch/x86/kvm/svm.c     Brijesh Singh     2017-12-04  503  	sd->min_asid = max_sev_asid + 1;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  504  
45fc8757d1d212 arch/x86/kvm/svm.c     Thomas Garnier    2017-03-14  505  	gdt = get_current_gdt_rw();
0fe1e009541e92 arch/x86/kvm/svm.c     Tejun Heo         2009-10-29  506  	sd->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS);
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  507  
9962d032bbff02 arch/x86/kvm/svm.c     Alexander Graf    2008-11-25  508  	wrmsrl(MSR_EFER, efer | EFER_SVME);
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  509  
85ca8be938c0e6 arch/x86/kvm/svm/svm.c Tom Lendacky      2020-12-10  510  	wrmsrl(MSR_VM_HSAVE_PA, __sme_page_pa(sd->save_area));
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  511  
fbc0db76b77125 arch/x86/kvm/svm.c     Joerg Roedel      2011-03-25  512  	if (static_cpu_has(X86_FEATURE_TSCRATEMSR)) {
fbc0db76b77125 arch/x86/kvm/svm.c     Joerg Roedel      2011-03-25  513  		wrmsrl(MSR_AMD64_TSC_RATIO, TSC_RATIO_DEFAULT);
89cbc76768c2fa arch/x86/kvm/svm.c     Christoph Lameter 2014-08-17 @514  		__this_cpu_write(current_tsc_ratio, TSC_RATIO_DEFAULT);
fbc0db76b77125 arch/x86/kvm/svm.c     Joerg Roedel      2011-03-25  515  	}
fbc0db76b77125 arch/x86/kvm/svm.c     Joerg Roedel      2011-03-25  516  
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  517  
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  518  	/*
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  519  	 * Get OSVW bits.
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  520  	 *
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  521  	 * Note that it is possible to have a system with mixed processor
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  522  	 * revisions and therefore different OSVW bits. If bits are not the same
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  523  	 * on different processors then choose the worst case (i.e. if erratum
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  524  	 * is present on one processor and not on another then assume that the
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  525  	 * erratum is present everywhere).
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  526  	 */
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  527  	if (cpu_has(&boot_cpu_data, X86_FEATURE_OSVW)) {
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  528  		uint64_t len, status = 0;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  529  		int err;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  530  
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  531  		len = native_read_msr_safe(MSR_AMD64_OSVW_ID_LENGTH, &err);
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  532  		if (!err)
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  533  			status = native_read_msr_safe(MSR_AMD64_OSVW_STATUS,
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  534  						      &err);
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  535  
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  536  		if (err)
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  537  			osvw_status = osvw_len = 0;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  538  		else {
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  539  			if (len < osvw_len)
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  540  				osvw_len = len;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  541  			osvw_status |= status;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  542  			osvw_status &= (1ULL << osvw_len) - 1;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  543  		}
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  544  	} else
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  545  		osvw_status = osvw_len = 0;
2b036c6b861dc5 arch/x86/kvm/svm.c     Boris Ostrovsky   2012-01-09  546  
67ec66077799f2 arch/x86/kvm/svm.c     Joerg Roedel      2010-05-17  547  	svm_init_erratum_383();
67ec66077799f2 arch/x86/kvm/svm.c     Joerg Roedel      2010-05-17  548  
1018faa6cf23b2 arch/x86/kvm/svm.c     Joerg Roedel      2012-02-29  549  	amd_pmu_enable_virt();
1018faa6cf23b2 arch/x86/kvm/svm.c     Joerg Roedel      2012-02-29  550  
10474ae8945ce0 arch/x86/kvm/svm.c     Alexander Graf    2009-09-15  551  	return 0;
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  552  }
6aa8b732ca01c3 drivers/kvm/svm.c      Avi Kivity        2006-12-10  553  

:::::: The code at line 514 was first introduced by commit
:::::: 89cbc76768c2fa4ed95545bf961f3a14ddfeed21 x86: Replace __get_cpu_var uses

:::::: TO: Christoph Lameter <cl@linux.com>
:::::: CC: Tejun Heo <tj@kernel.org>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-18  7:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-18  7:25 [intel-tdx:guest 97/136] arch/x86/kvm/svm/svm.c:514:17: sparse: sparse: cast truncates bits from constant value (100000000 becomes 0) kernel test robot

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.