tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git vhost
head:   5d457fe6aeaab9d0a1665eafc8af7139bc6b6f2e
commit: 5d457fe6aeaab9d0a1665eafc8af7139bc6b6f2e [24/24] fw_cfg: fix sparse 
warnings around FW_CFG_FILE_DIR read
config: i386-randconfig-x015-201806 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout 5d457fe6aeaab9d0a1665eafc8af7139bc6b6f2e
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/firmware/qemu_fw_cfg.c: In function 'fw_cfg_register_dir_entries':
>> drivers/firmware/qemu_fw_cfg.c:499:22: error: storage size of 'files' isn't 
>> known
     struct fw_cfg_files files;
                         ^~~~~
   drivers/firmware/qemu_fw_cfg.c:499:22: warning: unused variable 'files' 
[-Wunused-variable]

vim +499 drivers/firmware/qemu_fw_cfg.c

   493  
   494  /* iterate over all fw_cfg directory entries, registering each one */
   495  static int fw_cfg_register_dir_entries(void)
   496  {
   497          int ret = 0;
   498          u32 count, i;
 > 499          struct fw_cfg_files files;
   500          struct fw_cfg_file *dir;
   501          size_t dir_size;
   502  
   503          fw_cfg_read_blob(FW_CFG_FILE_DIR, &files.count, 0, 
sizeof(files.count));
   504          count = be32_to_cpu(files.count);
   505          dir_size = count * sizeof(struct fw_cfg_file);
   506  
   507          dir = kmalloc(dir_size, GFP_KERNEL);
   508          if (!dir)
   509                  return -ENOMEM;
   510  
   511          fw_cfg_read_blob(FW_CFG_FILE_DIR, dir, sizeof(files.count), 
dir_size);
   512  
   513          for (i = 0; i < count; i++) {
   514                  ret = fw_cfg_register_file(&dir[i]);
   515                  if (ret)
   516                          break;
   517          }
   518  
   519          kfree(dir);
   520          return ret;
   521  }
   522  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to