Hi Jorge, kernel test robot noticed the following build warnings: [auto build test WARNING on linus/master] [also build test WARNING on v6.3-rc7 next-20230419] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Jorge-Lopez/HP-BIOSCFG-driver-Documentation/20230419-231828 patch link: https://lore.kernel.org/r/20230419151321.6167-14-jorge.lopez2%40hp.com patch subject: [PATCH v10 13/14] HP BIOSCFG driver - Makefile config: i386-randconfig-a015-20230417 (https://download.01.org/0day-ci/archive/20230420/202304200914.VfJcRutc-lkp@xxxxxxxxx/config) compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/cfbebfbd4ed15793fab894715bfd74387adcf4f1 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Jorge-Lopez/HP-BIOSCFG-driver-Documentation/20230419-231828 git checkout cfbebfbd4ed15793fab894715bfd74387adcf4f1 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/platform/x86/hp/hp-bioscfg/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202304200914.VfJcRutc-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c:141:2: warning: variable 'id' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!buf_cp) { ^~~~~~~~~~~~ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c:169:18: note: uninitialized use occurs here clear_passwords(id); ^~ drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c:141:2: note: remove the 'if' if its condition is always false if (!buf_cp) { ^~~~~~~~~~~~~~ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c:138:8: note: initialize the variable 'id' to silence this warning int id, ret = -EIO; ^ = 0 1 warning generated. -- >> drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:76:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!start) ^~~~~~~~~~~ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:87:9: note: uninitialized use occurs here return ret; ^~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:76:2: note: remove the 'if' if its condition is always false if (!start) ^~~~~~~~~~~ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:72:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!start) ^~~~~~~~~~~ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:87:9: note: uninitialized use occurs here return ret; ^~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:72:2: note: remove the 'if' if its condition is always false if (!start) ^~~~~~~~~~~ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:43:2: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (instance < 0) ^~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:28: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:87:9: note: uninitialized use occurs here return ret; ^~~ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:43:2: note: remove the 'if' if its condition is always false if (instance < 0) ^~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:23: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^ drivers/platform/x86/hp/hp-bioscfg/biosattr-interface.c:30:9: note: initialize the variable 'ret' to silence this warning int ret; ^ = 0 3 warnings generated. vim +141 drivers/platform/x86/hp/hp-bioscfg/passwdobj-attributes.c 1780f5eca27fb8 Jorge Lopez 2023-04-19 132 1780f5eca27fb8 Jorge Lopez 2023-04-19 133 static ssize_t new_password_store(struct kobject *kobj, 1780f5eca27fb8 Jorge Lopez 2023-04-19 134 struct kobj_attribute *attr, 1780f5eca27fb8 Jorge Lopez 2023-04-19 135 const char *buf, size_t count) 1780f5eca27fb8 Jorge Lopez 2023-04-19 136 { 1780f5eca27fb8 Jorge Lopez 2023-04-19 137 char *p, *buf_cp = NULL; 1780f5eca27fb8 Jorge Lopez 2023-04-19 138 int id, ret = -EIO; 1780f5eca27fb8 Jorge Lopez 2023-04-19 139 1780f5eca27fb8 Jorge Lopez 2023-04-19 140 buf_cp = kstrdup(buf, GFP_KERNEL); 1780f5eca27fb8 Jorge Lopez 2023-04-19 @141 if (!buf_cp) { 1780f5eca27fb8 Jorge Lopez 2023-04-19 142 ret = -ENOMEM; 1780f5eca27fb8 Jorge Lopez 2023-04-19 143 goto exit_password; 1780f5eca27fb8 Jorge Lopez 2023-04-19 144 } 1780f5eca27fb8 Jorge Lopez 2023-04-19 145 1780f5eca27fb8 Jorge Lopez 2023-04-19 146 p = memchr(buf_cp, '\n', count); 1780f5eca27fb8 Jorge Lopez 2023-04-19 147 1780f5eca27fb8 Jorge Lopez 2023-04-19 148 if (p != NULL) 1780f5eca27fb8 Jorge Lopez 2023-04-19 149 *p = '\0'; 1780f5eca27fb8 Jorge Lopez 2023-04-19 150 1780f5eca27fb8 Jorge Lopez 2023-04-19 151 id = get_password_instance_id(kobj); 1780f5eca27fb8 Jorge Lopez 2023-04-19 152 1780f5eca27fb8 Jorge Lopez 2023-04-19 153 if (id >= 0) 1780f5eca27fb8 Jorge Lopez 2023-04-19 154 ret = validate_password_input(id, buf_cp); 1780f5eca27fb8 Jorge Lopez 2023-04-19 155 1780f5eca27fb8 Jorge Lopez 2023-04-19 156 if (!ret) 1780f5eca27fb8 Jorge Lopez 2023-04-19 157 strscpy(bioscfg_drv.password_data[id].new_password, 1780f5eca27fb8 Jorge Lopez 2023-04-19 158 buf_cp, 1780f5eca27fb8 Jorge Lopez 2023-04-19 159 sizeof(bioscfg_drv.password_data[id].new_password)); 1780f5eca27fb8 Jorge Lopez 2023-04-19 160 1780f5eca27fb8 Jorge Lopez 2023-04-19 161 if (!ret) 1780f5eca27fb8 Jorge Lopez 2023-04-19 162 ret = hp_set_attribute(kobj->name, buf_cp); 1780f5eca27fb8 Jorge Lopez 2023-04-19 163 1780f5eca27fb8 Jorge Lopez 2023-04-19 164 exit_password: 1780f5eca27fb8 Jorge Lopez 2023-04-19 165 /* 1780f5eca27fb8 Jorge Lopez 2023-04-19 166 * Regardless of the results both new and current passwords 1780f5eca27fb8 Jorge Lopez 2023-04-19 167 * will be set to zero and avoid security issues 1780f5eca27fb8 Jorge Lopez 2023-04-19 168 */ 1780f5eca27fb8 Jorge Lopez 2023-04-19 169 clear_passwords(id); 1780f5eca27fb8 Jorge Lopez 2023-04-19 170 1780f5eca27fb8 Jorge Lopez 2023-04-19 171 kfree(buf_cp); 1780f5eca27fb8 Jorge Lopez 2023-04-19 172 return ret ? ret : count; 1780f5eca27fb8 Jorge Lopez 2023-04-19 173 } 1780f5eca27fb8 Jorge Lopez 2023-04-19 174 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests