drivers/firmware/efi/libstub/efistub.h:667:44: sparse: sparse: incorrect type in argument 2 (different type sizes)

From: kernel test robot
Date: Mon Jul 06 2020 - 10:34:29 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: dcb7fd82c75ee2d6e6f9d8cc71c52519ed52e258
commit: cf6b83664895a5c7e97710df282e220bd047f0f5 efi/libstub: Make initrd file loader configurable
date: 2 months ago
config: arm64-randconfig-s032-20200706 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-14-g8fce3d7a-dirty
git checkout cf6b83664895a5c7e97710df282e220bd047f0f5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64

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/firmware/efi/libstub/efi-stub.c:68:6: sparse: sparse: symbol 'install_memreserve_table' was not declared. Should it be static?
>> drivers/firmware/efi/libstub/efistub.h:667:44: sparse: sparse: incorrect type in argument 2 (different type sizes) @@ expected unsigned short const [usertype] *optstr @@ got char * @@
>> drivers/firmware/efi/libstub/efistub.h:667:44: sparse: expected unsigned short const [usertype] *optstr
>> drivers/firmware/efi/libstub/efistub.h:667:44: sparse: got char *
drivers/firmware/efi/libstub/efistub.h:680:44: sparse: sparse: incorrect type in argument 2 (different type sizes) @@ expected unsigned short const [usertype] *optstr @@ got char * @@
drivers/firmware/efi/libstub/efistub.h:680:44: sparse: expected unsigned short const [usertype] *optstr
drivers/firmware/efi/libstub/efistub.h:680:44: sparse: got char *

vim +667 drivers/firmware/efi/libstub/efistub.h

650
651 efi_status_t efi_setup_gop(struct screen_info *si, efi_guid_t *proto,
652 unsigned long size);
653
654 efi_status_t handle_cmdline_files(efi_loaded_image_t *image,
655 const efi_char16_t *optstr,
656 int optstr_size,
657 unsigned long soft_limit,
658 unsigned long hard_limit,
659 unsigned long *load_addr,
660 unsigned long *load_size);
661
662
663 static inline efi_status_t efi_load_dtb(efi_loaded_image_t *image,
664 unsigned long *load_addr,
665 unsigned long *load_size)
666 {
> 667 return handle_cmdline_files(image, L"dtb=", sizeof(L"dtb=") - 2,
668 ULONG_MAX, ULONG_MAX, load_addr, load_size);
669 }
670

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

Attachment: .config.gz
Description: application/gzip