arch/x86/include/asm/paravirt.h:221:9: sparse: sparse: cast truncates bits from constant value (c000000000100000 becomes 100000)

From: kernel test robot
Date: Fri Feb 11 2022 - 01:03:43 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f1baf68e1383f6ed93eb9cff2866d46562607a43
commit: faff44069ff538ccdfef187c4d7ec83d22dfb3a4 x86/hyperv: Add Write/Read MSR registers via ghcb page
date: 4 months ago
config: x86_64-randconfig-s022 (https://download.01.org/0day-ci/archive/20220211/202202111322.CtsKURBj-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=faff44069ff538ccdfef187c4d7ec83d22dfb3a4
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout faff44069ff538ccdfef187c4d7ec83d22dfb3a4
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/hv/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
drivers/hv/vmbus_drv.c: note: in included file (through arch/x86/include/asm/msr.h, arch/x86/include/asm/processor.h, arch/x86/include/asm/timex.h, ...):
>> arch/x86/include/asm/paravirt.h:221:9: sparse: sparse: cast truncates bits from constant value (c000000000100000 becomes 100000)
arch/x86/include/asm/paravirt.h:221:9: sparse: sparse: cast truncates bits from constant value (c000000000000000 becomes 0)

vim +221 arch/x86/include/asm/paravirt.h

d3561b7fa0fb0fc include/asm-i386/paravirt.h Rusty Russell 2006-12-07 218
47edb65178cb705 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 219 static inline void wrmsrl(unsigned msr, u64 val)
47edb65178cb705 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 220 {
47edb65178cb705 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 @221 wrmsr(msr, (u32)val, (u32)(val>>32));
47edb65178cb705 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 222 }
47edb65178cb705 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 223

:::::: The code at line 221 was first introduced by commit
:::::: 47edb65178cb7056c2eea0b6c41a7d8c84547192 x86/asm/msr: Make wrmsrl() a function

:::::: TO: Andy Lutomirski <luto@xxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx