tree: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next head: 23efbcdb197f07d67f7dcac9037fdf9972b88d9b commit: 71703d1e1b51e986ad5be41594328d5afa902672 [3/4] efi: use const* paramaters for get/setvar by-ref arguments annotated as IN config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git/commit/?id=71703d1e1b51e986ad5be41594328d5afa902672 git remote add efi https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git git fetch --no-tags efi next git checkout 71703d1e1b51e986ad5be41594328d5afa902672 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): arch/x86/platform/efi/efi_64.c: In function 'virt_to_phys_or_null_size': >> arch/x86/platform/efi/efi_64.c:163:23: warning: passing argument 1 of 'virt_to_phys' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 163 | return virt_to_phys(va); | ^~ In file included from arch/x86/include/asm/dma.h:13, from include/linux/memblock.h:14, from arch/x86/platform/efi/efi_64.c:26: arch/x86/include/asm/io.h:129:55: note: expected 'volatile void *' but argument is of type 'const void *' 129 | static inline phys_addr_t virt_to_phys(volatile void *address) | ~~~~~~~~~~~~~~~^~~~~~~ >> arch/x86/platform/efi/efi_64.c:165:25: warning: passing argument 1 of 'slow_virt_to_phys' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 165 | pa = slow_virt_to_phys(va); | ^~ In file included from arch/x86/include/asm/paravirt_types.h:44, from arch/x86/include/asm/ptrace.h:94, from arch/x86/include/asm/math_emu.h:5, from arch/x86/include/asm/processor.h:13, from arch/x86/include/asm/cpufeature.h:5, from arch/x86/include/asm/thread_info.h:53, from include/linux/thread_info.h:58, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:78, from include/linux/spinlock.h:51, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/mm.h:10, from arch/x86/platform/efi/efi_64.c:23: arch/x86/include/asm/pgtable_types.h:569:44: note: expected 'void *' but argument is of type 'const void *' 569 | extern phys_addr_t slow_virt_to_phys(void *__address); | ~~~~~~^~~~~~~~~ arch/x86/platform/efi/efi_64.c: In function 'efi_thunk_get_variable': arch/x86/platform/efi/efi_64.c:592:60: warning: passing argument 1 of 'efi_name_size' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 592 | phys_name = virt_to_phys_or_null_size(name, efi_name_size(name)); | ^~~~ arch/x86/platform/efi/efi_64.c:570:50: note: expected 'efi_char16_t *' {aka 'short unsigned int *'} but argument is of type 'const efi_char16_t *' {aka 'const short unsigned int *'} 570 | static unsigned long efi_name_size(efi_char16_t *name) | ~~~~~~~~~~~~~~^~~~ arch/x86/platform/efi/efi_64.c: In function 'efi_thunk_set_variable': arch/x86/platform/efi/efi_64.c:621:60: warning: passing argument 1 of 'efi_name_size' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 621 | phys_name = virt_to_phys_or_null_size(name, efi_name_size(name)); | ^~~~ arch/x86/platform/efi/efi_64.c:570:50: note: expected 'efi_char16_t *' {aka 'short unsigned int *'} but argument is of type 'const efi_char16_t *' {aka 'const short unsigned int *'} 570 | static unsigned long efi_name_size(efi_char16_t *name) | ~~~~~~~~~~~~~~^~~~ arch/x86/platform/efi/efi_64.c: In function 'efi_thunk_set_variable_nonblocking': arch/x86/platform/efi/efi_64.c:653:60: warning: passing argument 1 of 'efi_name_size' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 653 | phys_name = virt_to_phys_or_null_size(name, efi_name_size(name)); | ^~~~ arch/x86/platform/efi/efi_64.c:570:50: note: expected 'efi_char16_t *' {aka 'short unsigned int *'} but argument is of type 'const efi_char16_t *' {aka 'const short unsigned int *'} 570 | static unsigned long efi_name_size(efi_char16_t *name) | ~~~~~~~~~~~~~~^~~~ vim +163 arch/x86/platform/efi/efi_64.c d2f7cbe7b26a74 Borislav Petkov 2013-10-31 150 f6697df36bdf0b Matt Fleming 2016-11-12 151 /* f6697df36bdf0b Matt Fleming 2016-11-12 152 * Wrapper for slow_virt_to_phys() that handles NULL addresses. f6697df36bdf0b Matt Fleming 2016-11-12 153 */ f6697df36bdf0b Matt Fleming 2016-11-12 154 static inline phys_addr_t 71703d1e1b51e9 Ard Biesheuvel 2021-03-12 155 virt_to_phys_or_null_size(const void *va, unsigned long size) f6697df36bdf0b Matt Fleming 2016-11-12 156 { 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 157 phys_addr_t pa; f6697df36bdf0b Matt Fleming 2016-11-12 158 f6697df36bdf0b Matt Fleming 2016-11-12 159 if (!va) f6697df36bdf0b Matt Fleming 2016-11-12 160 return 0; f6697df36bdf0b Matt Fleming 2016-11-12 161 f6697df36bdf0b Matt Fleming 2016-11-12 162 if (virt_addr_valid(va)) f6697df36bdf0b Matt Fleming 2016-11-12 @163 return virt_to_phys(va); f6697df36bdf0b Matt Fleming 2016-11-12 164 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 @165 pa = slow_virt_to_phys(va); f6697df36bdf0b Matt Fleming 2016-11-12 166 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 167 /* check if the object crosses a page boundary */ 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 168 if (WARN_ON((pa ^ (pa + size - 1)) & PAGE_MASK)) 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 169 return 0; f6697df36bdf0b Matt Fleming 2016-11-12 170 8319e9d5ad98ff Ard Biesheuvel 2020-02-21 171 return pa; f6697df36bdf0b Matt Fleming 2016-11-12 172 } f6697df36bdf0b Matt Fleming 2016-11-12 173 :::::: The code at line 163 was first introduced by commit :::::: f6697df36bdf0bf7fce984605c2918d4a7b4269f x86/efi: Prevent mixed mode boot corruption with CONFIG_VMAP_STACK=y :::::: TO: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> :::::: CC: Ingo Molnar <mingo@xxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip