* [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.