[modules:ppavlu-module-include 36/37] arch/arm64/include/asm/module.h:48:16: error: implicit declaration of function 'cpus_have_final_cap'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "low confidence bisect report" :::::: BCC: [email protected] CC: [email protected] CC: Luis Chamberlain <[email protected]> CC: Petr Pavlu <[email protected]> CC: Sami Tolvanen <[email protected]> CC: Daniel Gomez <[email protected]> CC: [email protected] TO: Petr Pavlu <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/modules/linux.git ppavlu-module-include head: fcbfd3cbe0a054838436812cc0b664f71ba1d0a4 commit: acb4d9bafad10e9712a74d71304a4f3a404eb4ec [36/37] WIP: module: Clean up includes in linux/module.h :::::: branch date: 2 hours ago :::::: commit date: 2 hours ago config: arm64-allnoconfig-bpf (https://download.01.org/0day-ci/archive/20260819/[email protected]/config) compiler: aarch64-linux-gnu-gcc (Debian 14.2.0-19) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260819/[email protected]/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ All errors (new ones prefixed by >>): In file included from include/linux/module.h:28, from ../../../drivers/nvdimm/namespace_devs.c:6: arch/arm64/include/asm/module.h: In function 'is_forbidden_offset_for_adrp': >> arch/arm64/include/asm/module.h:48:16: error: implicit declaration of function 'cpus_have_final_cap' [-Wimplicit-function-declaration] 48 | return cpus_have_final_cap(ARM64_WORKAROUND_843419) && | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/module.h: In function 'find_section': >> arch/arm64/include/asm/module.h:62:21: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration] 62 | if (strcmp(name, secstrs + s->sh_name) == 0) | ^~~~~~ arch/arm64/include/asm/module.h:9:1: note: include '<string.h>' or provide a declaration of 'strcmp' 8 | #include <asm-generic/module.h> +++ |+#include <string.h> 9 | In file included from arch/arm64/include/asm/processor.h:40, from include/linux/sched.h:13, from include/linux/ratelimit.h:6, from include/linux/dev_printk.h:16, from include/linux/device.h:15, from ../../../drivers/nvdimm/namespace_devs.c:7: arch/arm64/include/asm/cpufeature.h: At top level: >> arch/arm64/include/asm/cpufeature.h:519:29: error: conflicting types for 'cpus_have_final_cap'; have 'bool(int)' {aka '_Bool(int)'} 519 | static __always_inline bool cpus_have_final_cap(int num) | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/module.h:48:16: note: previous implicit declaration of 'cpus_have_final_cap' with type 'int()' 48 | return cpus_have_final_cap(ARM64_WORKAROUND_843419) && | ^~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/module.h:28, from libnvdimm_test.c:4: arch/arm64/include/asm/module.h: In function 'is_forbidden_offset_for_adrp': >> arch/arm64/include/asm/module.h:48:16: error: implicit declaration of function 'cpus_have_final_cap' [-Wimplicit-function-declaration] 48 | return cpus_have_final_cap(ARM64_WORKAROUND_843419) && | ^~~~~~~~~~~~~~~~~~~ arch/arm64/include/asm/module.h: In function 'find_section': >> arch/arm64/include/asm/module.h:62:21: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration] 62 | if (strcmp(name, secstrs + s->sh_name) == 0) | ^~~~~~ arch/arm64/include/asm/module.h:9:1: note: include '<string.h>' or provide a declaration of 'strcmp' 8 | #include <asm-generic/module.h> +++ |+#include <string.h> 9 | vim +/cpus_have_final_cap +48 arch/arm64/include/asm/module.h 7e8b9c1d2e2f5f Ard Biesheuvel 2017-11-20 45 bdb85cd1d20669 Ard Biesheuvel 2018-11-22 46 static inline bool is_forbidden_offset_for_adrp(void *place) 7e8b9c1d2e2f5f Ard Biesheuvel 2017-11-20 47 { 0a285dfe875d52 Mark Rutland 2023-10-16 @48 return cpus_have_final_cap(ARM64_WORKAROUND_843419) && bdb85cd1d20669 Ard Biesheuvel 2018-11-22 49 ((u64)place & 0xfff) >= 0xff8; 7e8b9c1d2e2f5f Ard Biesheuvel 2017-11-20 50 } 7e8b9c1d2e2f5f Ard Biesheuvel 2017-11-20 51 bdb85cd1d20669 Ard Biesheuvel 2018-11-22 52 struct plt_entry get_plt_entry(u64 dst, void *pc); 7e8b9c1d2e2f5f Ard Biesheuvel 2017-11-20 53 b3adc3844e1ded Joey Gouly 2022-08-30 54 static inline const Elf_Shdr *find_section(const Elf_Ehdr *hdr, b3adc3844e1ded Joey Gouly 2022-08-30 55 const Elf_Shdr *sechdrs, b3adc3844e1ded Joey Gouly 2022-08-30 56 const char *name) 5a3ae7b314a225 Ard Biesheuvel 2019-04-07 57 { b3adc3844e1ded Joey Gouly 2022-08-30 58 const Elf_Shdr *s, *se; b3adc3844e1ded Joey Gouly 2022-08-30 59 const char *secstrs = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; b3adc3844e1ded Joey Gouly 2022-08-30 60 b3adc3844e1ded Joey Gouly 2022-08-30 61 for (s = sechdrs, se = sechdrs + hdr->e_shnum; s < se; s++) { b3adc3844e1ded Joey Gouly 2022-08-30 @62 if (strcmp(name, secstrs + s->sh_name) == 0) b3adc3844e1ded Joey Gouly 2022-08-30 63 return s; b3adc3844e1ded Joey Gouly 2022-08-30 64 } b3adc3844e1ded Joey Gouly 2022-08-30 65 b3adc3844e1ded Joey Gouly 2022-08-30 66 return NULL; 5a3ae7b314a225 Ard Biesheuvel 2019-04-07 67 } 5a3ae7b314a225 Ard Biesheuvel 2019-04-07 68 :::::: The code at line 48 was first introduced by commit :::::: 0a285dfe875d5206da10c3d00564727f9482a9dd arm64: Avoid cpus_have_const_cap() for ARM64_WORKAROUND_843419 :::::: TO: Mark Rutland <[email protected]> :::::: CC: Catalin Marinas <[email protected]> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki