Re: [PATCH v4] arm64: sdei: abort running SDEI handlers during crash

From: kernel test robot
Date: Sun Jun 25 2023 - 22:02:06 EST


Hi Scott,

kernel test robot noticed the following build errors:

[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on arm/for-next arm/fixes kvmarm/next soc/for-next linus/master v6.4 next-20230623]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/D-Scott-Phillips/arm64-sdei-abort-running-SDEI-handlers-during-crash/20230626-074210
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
patch link: https://lore.kernel.org/r/20230625234033.672594-1-scott%40os.amperecomputing.com
patch subject: [PATCH v4] arm64: sdei: abort running SDEI handlers during crash
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20230626/202306260925.6Qm42hTs-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230626/202306260925.6Qm42hTs-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306260925.6Qm42hTs-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

arch/arm64/kernel/smp.c: In function 'crash_smp_send_stop':
>> arch/arm64/kernel/smp.c:1073:9: error: implicit declaration of function 'sdei_handler_abort'; did you mean 'acpi_handle_alert'? [-Werror=implicit-function-declaration]
1073 | sdei_handler_abort();
| ^~~~~~~~~~~~~~~~~~
| acpi_handle_alert
cc1: some warnings being treated as errors


vim +1073 arch/arm64/kernel/smp.c

1030
1031 #ifdef CONFIG_KEXEC_CORE
1032 void crash_smp_send_stop(void)
1033 {
1034 static int cpus_stopped;
1035 cpumask_t mask;
1036 unsigned long timeout;
1037
1038 /*
1039 * This function can be called twice in panic path, but obviously
1040 * we execute this only once.
1041 */
1042 if (cpus_stopped)
1043 return;
1044
1045 cpus_stopped = 1;
1046
1047 /*
1048 * If this cpu is the only one alive at this point in time, online or
1049 * not, there are no stop messages to be sent around, so just back out.
1050 */
1051 if (num_other_online_cpus() == 0)
1052 goto skip_ipi;
1053
1054 cpumask_copy(&mask, cpu_online_mask);
1055 cpumask_clear_cpu(smp_processor_id(), &mask);
1056
1057 atomic_set(&waiting_for_crash_ipi, num_other_online_cpus());
1058
1059 pr_crit("SMP: stopping secondary CPUs\n");
1060 smp_cross_call(&mask, IPI_CPU_CRASH_STOP);
1061
1062 /* Wait up to one second for other CPUs to stop */
1063 timeout = USEC_PER_SEC;
1064 while ((atomic_read(&waiting_for_crash_ipi) > 0) && timeout--)
1065 udelay(1);
1066
1067 if (atomic_read(&waiting_for_crash_ipi) > 0)
1068 pr_warn("SMP: failed to stop secondary CPUs %*pbl\n",
1069 cpumask_pr_args(&mask));
1070
1071 skip_ipi:
1072 sdei_mask_local_cpu();
> 1073 sdei_handler_abort();
1074 }
1075

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki