* Re: [RFC PATCH 2/7] kexec: Hack and abuse crashkernel for the kstate's migration stream
[not found] <20241002160722.20025-3-arbn@yandex-team.com>
@ 2024-10-05 13:38 ` kernel test robot
2024-12-09 4:08 ` kernel test robot
1 sibling, 0 replies; 2+ messages in thread
From: kernel test robot @ 2024-10-05 13:38 UTC (permalink / raw)
To: Andrey Ryabinin; +Cc: llvm, oe-kbuild-all
Hi Andrey,
[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:
[auto build test ERROR on tip/x86/core]
[also build test ERROR on akpm-mm/mm-everything akpm-mm/mm-nonmm-unstable linus/master v6.12-rc1 next-20241004]
[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/Andrey-Ryabinin/kstate-Add-kstate-a-mechanism-to-migrate-some-kernel-state-across-kexec/20241003-001223
base: tip/x86/core
patch link: https://lore.kernel.org/r/20241002160722.20025-3-arbn%40yandex-team.com
patch subject: [RFC PATCH 2/7] kexec: Hack and abuse crashkernel for the kstate's migration stream
config: i386-buildonly-randconfig-004-20241005 (https://download.01.org/0day-ci/archive/20241005/202410052140.hHx7eFfO-lkp@intel.com/config)
compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241005/202410052140.hHx7eFfO-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410052140.hHx7eFfO-lkp@intel.com/
All errors (new ones prefixed by >>):
>> kernel/kexec_core.c:1051:3: error: call to undeclared function 'arch_kexec_unprotect_crashkres'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
1051 | arch_kexec_unprotect_crashkres();
| ^
1 error generated.
vim +/arch_kexec_unprotect_crashkres +1051 kernel/kexec_core.c
990
991 /*
992 * Move into place and start executing a preloaded standalone
993 * executable. If nothing was preloaded return an error.
994 */
995 int kernel_kexec(void)
996 {
997 int error = 0;
998
999 if (!kexec_trylock())
1000 return -EBUSY;
1001 if (!kexec_image) {
1002 error = -EINVAL;
1003 goto Unlock;
1004 }
1005
1006 #ifdef CONFIG_KEXEC_JUMP
1007 if (kexec_image->preserve_context) {
1008 pm_prepare_console();
1009 error = freeze_processes();
1010 if (error) {
1011 error = -EBUSY;
1012 goto Restore_console;
1013 }
1014 suspend_console();
1015 error = dpm_suspend_start(PMSG_FREEZE);
1016 if (error)
1017 goto Resume_console;
1018 /* At this point, dpm_suspend_start() has been called,
1019 * but *not* dpm_suspend_end(). We *must* call
1020 * dpm_suspend_end() now. Otherwise, drivers for
1021 * some devices (e.g. interrupt controllers) become
1022 * desynchronized with the actual state of the
1023 * hardware at resume time, and evil weirdness ensues.
1024 */
1025 error = dpm_suspend_end(PMSG_FREEZE);
1026 if (error)
1027 goto Resume_devices;
1028 error = suspend_disable_secondary_cpus();
1029 if (error)
1030 goto Enable_cpus;
1031 local_irq_disable();
1032 error = syscore_suspend();
1033 if (error)
1034 goto Enable_irqs;
1035 } else
1036 #endif
1037 {
1038 kexec_in_progress = true;
1039 kernel_restart_prepare("kexec reboot");
1040 migrate_to_reboot_cpu();
1041 syscore_shutdown();
1042
1043 /*
1044 * migrate_to_reboot_cpu() disables CPU hotplug assuming that
1045 * no further code needs to use CPU hotplug (which is true in
1046 * the reboot case). However, the kexec path depends on using
1047 * CPU hotplug again; so re-enable it here.
1048 */
1049 cpu_hotplug_enable();
1050 pr_notice("Starting new kernel\n");
> 1051 arch_kexec_unprotect_crashkres();
1052 machine_shutdown();
1053 }
1054
1055 if (kexec_image->type & KEXEC_TYPE_MIGRATE)
1056 save_migrate_state(kexec_image->mig_stream);
1057
1058 kmsg_dump(KMSG_DUMP_SHUTDOWN);
1059 machine_kexec(kexec_image);
1060
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread