Re: [efi:next 2/33] drivers/firmware/efi/libstub/efistub.h:680:44: sparse: sparse: incorrect type in argument 2 (different type sizes)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 25 Apr 2020 at 02:02, kbuild test robot <lkp@xxxxxxxxx> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
> head:   4eb8320bd1aaa7e69d039f2c251735e3ef0b9a38
> commit: cf6b83664895a5c7e97710df282e220bd047f0f5 [2/33] efi/libstub: Make initrd file loader configurable
> reproduce:
>         # apt-get install sparse
>         # sparse version: v0.6.1-191-gc51a0382-dirty
>         git checkout cf6b83664895a5c7e97710df282e220bd047f0f5
>         make ARCH=x86_64 allmodconfig
>         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>
>
> sparse warnings: (new ones prefixed by >>)
>
>    drivers/firmware/efi/libstub/x86-stub.c:225:37: sparse: sparse: invalid initializer
> >> 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 ype] *optstr @@
> >> 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 *
>

This is a bug in Sparse. The L"..." literals have type wchar_t * not char *

> vim +680 drivers/firmware/efi/libstub/efistub.h
>
>    670
>    671  static inline efi_status_t efi_load_initrd(efi_loaded_image_t *image,
>    672                                             unsigned long *load_addr,
>    673                                             unsigned long *load_size,
>    674                                             unsigned long soft_limit,
>    675                                             unsigned long hard_limit)
>    676  {
>    677          if (!IS_ENABLED(CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER))
>    678                  return EFI_SUCCESS;
>    679
>  > 680          return handle_cmdline_files(image, L"initrd=", sizeof(L"initrd=") - 2,
>    681                                      soft_limit, hard_limit, load_addr, load_size);
>    682  }
>    683
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux