[android-common:android16-6.12-kminext 1/1] arch/arm64/kvm/hyp/include/nvhe/modules.h:33:6: warning: no previous prototype for function 'module_handle_host_smc'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild-all |
|---|---|
| Message-ID | <[email protected]> |
Hi Vincent, FYI, the error/warning still remains. tree: https://android.googlesource.com/kernel/common android16-6.12-kminext head: 133d9641e9477c7e0c05a3fc18eb81d7579675b9 commit: a3040de297f4dca2983c59d38ea7f9d5d9fc589f [1/1] ANDROID: KVM: arm64: Allow 16 host_smc handlers config: arm64-randconfig-004 (https://download.01.org/0day-ci/archive/20260717/[email protected]/config) compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5c0dfced1adc55429e32b1db08570abd3a219d85) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260717/[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/oe-kbuild-all/[email protected]/ All warnings (new ones prefixed by >>): In file included from arch/arm64/kvm/hyp/nvhe/hyp-main.c:24: arch/arm64/kvm/hyp/include/nvhe/modules.h:32:6: warning: no previous prototype for function 'module_handle_host_perm_fault' [-Wmissing-prototypes] 32 | bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr) { return false; } | ^ arch/arm64/kvm/hyp/include/nvhe/modules.h:32:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 32 | bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr) { return false; } | ^ | static >> arch/arm64/kvm/hyp/include/nvhe/modules.h:33:6: warning: no previous prototype for function 'module_handle_host_smc' [-Wmissing-prototypes] 33 | bool module_handle_host_smc(struct user_pt_regs *regs) { return false; } | ^ arch/arm64/kvm/hyp/include/nvhe/modules.h:33:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 33 | bool module_handle_host_smc(struct user_pt_regs *regs) { return false; } | ^ | static arch/arm64/kvm/hyp/nvhe/hyp-main.c:75:6: warning: no previous prototype for function '__pkvm_unmask_serror' [-Wmissing-prototypes] 75 | void __pkvm_unmask_serror(void) | ^ arch/arm64/kvm/hyp/nvhe/hyp-main.c:75:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 75 | void __pkvm_unmask_serror(void) | ^ | static arch/arm64/kvm/hyp/nvhe/hyp-main.c:461:22: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 461 | [ESR_ELx_EC_WFx] = handle_pvm_entry_wfx, | ^~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:460:28: note: previous initialization is here 460 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:462:24: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 462 | [ESR_ELx_EC_HVC64] = handle_pvm_entry_hvc64, | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:460:28: note: previous initialization is here 460 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:463:24: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 463 | [ESR_ELx_EC_SYS64] = handle_pvm_entry_sys64, | ^~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:460:28: note: previous initialization is here 460 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:464:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 464 | [ESR_ELx_EC_IABT_LOW] = handle_pvm_entry_iabt, | ^~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:460:28: note: previous initialization is here 460 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:465:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 465 | [ESR_ELx_EC_DABT_LOW] = handle_pvm_entry_dabt, | ^~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:460:28: note: previous initialization is here 460 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:470:22: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 470 | [ESR_ELx_EC_WFx] = handle_pvm_exit_wfx, | ^~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:469:28: note: previous initialization is here 469 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:471:24: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 471 | [ESR_ELx_EC_HVC64] = handle_pvm_exit_hvc64, | ^~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:469:28: note: previous initialization is here 469 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:472:24: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 472 | [ESR_ELx_EC_SYS64] = handle_pvm_exit_sys64, | ^~~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:469:28: note: previous initialization is here 469 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:473:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 473 | [ESR_ELx_EC_IABT_LOW] = handle_pvm_exit_iabt, | ^~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:469:28: note: previous initialization is here 469 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ include/linux/stddef.h:8:14: note: expanded from macro 'NULL' 8 | #define NULL ((void *)0) | ^~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:474:27: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] 474 | [ESR_ELx_EC_DABT_LOW] = handle_pvm_exit_dabt, | ^~~~~~~~~~~~~~~~~~~~ arch/arm64/kvm/hyp/nvhe/hyp-main.c:469:28: note: previous initialization is here 469 | [0 ... ESR_ELx_EC_MAX] = NULL, | ^~~~ -- In file included from arch/arm64/kvm/hyp/nvhe/mem_protect.c:23: arch/arm64/kvm/hyp/include/nvhe/modules.h:32:6: warning: no previous prototype for function 'module_handle_host_perm_fault' [-Wmissing-prototypes] 32 | bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr) { return false; } | ^ arch/arm64/kvm/hyp/include/nvhe/modules.h:32:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 32 | bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr) { return false; } | ^ | static >> arch/arm64/kvm/hyp/include/nvhe/modules.h:33:6: warning: no previous prototype for function 'module_handle_host_smc' [-Wmissing-prototypes] 33 | bool module_handle_host_smc(struct user_pt_regs *regs) { return false; } | ^ arch/arm64/kvm/hyp/include/nvhe/modules.h:33:1: note: declare 'static' if the function is not intended to be used outside of this translation unit 33 | bool module_handle_host_smc(struct user_pt_regs *regs) { return false; } | ^ | static 2 warnings generated. vim +/module_handle_host_smc +33 arch/arm64/kvm/hyp/include/nvhe/modules.h 14 15 #ifdef CONFIG_MODULES 16 int __pkvm_init_module(void *module_init); 17 int __pkvm_register_hcall(unsigned long hfn_hyp_va); 18 int handle_host_dynamic_hcall(struct user_pt_regs *regs, int id); 19 void __pkvm_close_module_registration(void); 20 bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr); 21 bool module_handle_host_smc(struct user_pt_regs *regs); 22 #else 23 static inline int __pkvm_init_module(void *module_init) { return -EOPNOTSUPP; } 24 static inline int 25 __pkvm_register_hcall(unsigned long hfn_hyp_va) { return -EOPNOTSUPP; } 26 static inline int 27 handle_host_dynamic_hcall(struct kvm_cpu_context *host_ctxt, int id) 28 { 29 return HCALL_UNHANDLED; 30 } 31 static inline void __pkvm_close_module_registration(void) { } 32 bool module_handle_host_perm_fault(struct user_pt_regs *regs, u64 esr, u64 addr) { return false; } > 33 bool module_handle_host_smc(struct user_pt_regs *regs) { return false; } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki