[openeuler:openEuler-1.0-LTS 21050/22135] arch/x86/include/asm/paravirt.h:150:39: warning: 'mcu_ctrl' may be used uninitialized

tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 3fc54ba0707c8961810392aa8ed85e0d3f192d58 commit: 99dec2700cf36e58d3fdb295e1fed7e9d04a916c [21050/22135] x86/speculation: Add Gather Data Sampling mitigation config: x86_64-buildonly-randconfig-002-20240417 (https://download.01.org/0day-ci/archive/20240418/202404180032.EJsgquDC-lkp@i...) compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240418/202404180032.EJsgquDC-lkp@i...) 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/202404180032.EJsgquDC-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): arch/x86/kernel/cpu/bugs.c:2407:9: warning: no previous prototype for 'cpu_show_gds' [-Wmissing-prototypes] 2407 | ssize_t cpu_show_gds(struct device *dev, struct device_attribute *attr, char *buf) | ^~~~~~~~~~~~ In file included from arch/x86/include/asm/irqflags.h:72, from include/linux/irqflags.h:16, from include/linux/rcupdate.h:39, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/utsname.h:6, from arch/x86/kernel/cpu/bugs.c:12: In function 'wrmsrl', inlined from 'update_gds_msr' at arch/x86/kernel/cpu/bugs.c:689:2:
arch/x86/include/asm/paravirt.h:150:39: warning: 'mcu_ctrl' may be used uninitialized [-Wmaybe-uninitialized] 150 | wrmsr(msr, (u32)val, (u32)(val>>32)); | ~~~~^~~~~ arch/x86/include/asm/paravirt.h:140:39: note: in definition of macro 'wrmsr' 140 | paravirt_write_msr(msr, val1, val2); \ | ^~~~ arch/x86/kernel/cpu/bugs.c: In function 'update_gds_msr': arch/x86/kernel/cpu/bugs.c:667:13: note: 'mcu_ctrl' was declared here 667 | u64 mcu_ctrl; | ^~~~~~~~
vim +/mcu_ctrl +150 arch/x86/include/asm/paravirt.h d3561b7fa0fb0f include/asm-i386/paravirt.h Rusty Russell 2006-12-07 147 47edb65178cb70 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 148 static inline void wrmsrl(unsigned msr, u64 val) 47edb65178cb70 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 149 { 47edb65178cb70 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 @150 wrmsr(msr, (u32)val, (u32)(val>>32)); 47edb65178cb70 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 151 } 47edb65178cb70 arch/x86/include/asm/paravirt.h Andy Lutomirski 2015-07-23 152 :::::: The code at line 150 was first introduced by commit :::::: 47edb65178cb7056c2eea0b6c41a7d8c84547192 x86/asm/msr: Make wrmsrl() a function :::::: TO: Andy Lutomirski <luto@kernel.org> :::::: CC: Ingo Molnar <mingo@kernel.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
participants (1)
-
kernel test robot