tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: a81d020c58c2c6a55ebaf15846470a9ecb69bd1a commit: e8cb8c21cc35fb408033a4ef28e4d3fc73a72854 [1291/1291] sdei_watchdog: set secure timer period base on 'watchdog_thresh' config: arm64-randconfig-004-20241113 (https://download.01.org/0day-ci/archive/20241114/202411140624.vSku6pi5-lkp@i...) compiler: aarch64-linux-gcc (GCC) 14.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241114/202411140624.vSku6pi5-lkp@i...)
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 lkp@intel.com | Closes: https://lore.kernel.org/oe-kbuild-all/202411140624.vSku6pi5-lkp@intel.com/
Note: the openeuler/openEuler-1.0-LTS HEAD a81d020c58c2c6a55ebaf15846470a9ecb69bd1a builds fine. It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from arch/arm64/kernel/watchdog_sdei.c:17: include/linux/nmi.h: In function 'touch_nmi_watchdog': include/linux/nmi.h:141:9: error: implicit declaration of function 'arch_touch_nmi_watchdog'; did you mean 'touch_nmi_watchdog'? [-Werror=implicit-function-declaration] 141 | arch_touch_nmi_watchdog(); | ^~~~~~~~~~~~~~~~~~~~~~~ | touch_nmi_watchdog arch/arm64/kernel/watchdog_sdei.c: In function 'watchdog_nmi_enable':
arch/arm64/kernel/watchdog_sdei.c:37:42: error: 'watchdog_thresh' undeclared (first use in this function); did you mean 'proc_watchdog_thresh'?
37 | sdei_api_set_secure_timer_period(watchdog_thresh); | ^~~~~~~~~~~~~~~ | proc_watchdog_thresh arch/arm64/kernel/watchdog_sdei.c:37:42: note: each undeclared identifier is reported only once for each function it appears in arch/arm64/kernel/watchdog_sdei.c: In function 'sdei_watchdog_callback': arch/arm64/kernel/watchdog_sdei.c:65:9: error: implicit declaration of function 'watchdog_hardlockup_check' [-Werror=implicit-function-declaration] 65 | watchdog_hardlockup_check(regs); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/arm64/kernel/watchdog_sdei.c: In function 'watchdog_nmi_probe': arch/arm64/kernel/watchdog_sdei.c:117:46: error: 'watchdog_thresh' undeclared (first use in this function); did you mean 'proc_watchdog_thresh'? 117 | if (sdei_api_set_secure_timer_period(watchdog_thresh)) { | ^~~~~~~~~~~~~~~ | proc_watchdog_thresh cc1: some warnings being treated as errors
vim +37 arch/arm64/kernel/watchdog_sdei.c
10 11 #include <asm/irq_regs.h> 12 #include <asm/kvm_hyp.h> 13 #include <asm/smp_plat.h> 14 #include <asm/sdei.h> 15 #include <asm/virt.h> 16 #include <linux/arm_sdei.h>
17 #include <linux/nmi.h>
18 19 /* We use the secure physical timer as SDEI NMI watchdog timer */ 20 #define SDEI_NMI_WATCHDOG_HWIRQ 29 21 22 static int sdei_watchdog_event_num; 23 static bool disable_sdei_nmi_watchdog; 24 static bool sdei_watchdog_registered; 25 26 int watchdog_nmi_enable(unsigned int cpu) 27 { 28 int ret; 29 30 if (!sdei_watchdog_registered) 31 return -EINVAL; 32 33 #ifdef CONFIG_HARDLOCKUP_CHECK_TIMESTAMP 34 refresh_hld_last_timestamp(); 35 #endif 36
37 sdei_api_set_secure_timer_period(watchdog_thresh);
38 39 ret = sdei_api_event_enable(sdei_watchdog_event_num); 40 if (ret) { 41 pr_err("Enable NMI Watchdog failed on cpu%d\n", 42 smp_processor_id()); 43 return ret; 44 } 45 46 return 0; 47 } 48