Re: [PATCH v10 13/14] HP BIOSCFG driver - Makefile

From: kernel test robot
Date: Wed Apr 19 2023 - 21:45:23 EST


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