* [linux-next:master 4353/4884] arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared
@ 2023-12-06 3:17 kernel test robot
2023-12-07 8:59 ` Baoquan He
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2023-12-06 3:17 UTC (permalink / raw)
To: Baoquan He; +Cc: oe-kbuild-all, Linux Memory Management List, Andrew Morton
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 0f5f12ac05f36f117e793656c3f560625e927f1b
commit: 4fa0ee5b7e2ddb44036b40795ca4a79d94edc7d4 [4353/4884] kexec_core: change dependency of object files
config: mips-randconfig-r032-20220731 (https://download.01.org/0day-ci/archive/20231206/202312061137.QgjJ4nTc-lkp@intel.com/config)
compiler: mipsel-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231206/202312061137.QgjJ4nTc-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/202312061137.QgjJ4nTc-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/mips/kernel/machine_kexec.c: In function 'uhi_machine_kexec_prepare':
>> arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared (first use in this function)
76 | kexec_args[0] = -2;
| ^~~~~~~~~~
arch/mips/kernel/machine_kexec.c:76:17: note: each undeclared identifier is reported only once for each function it appears in
arch/mips/kernel/machine_kexec.c: In function 'machine_kexec_prepare':
arch/mips/kernel/machine_kexec.c:97:14: error: implicit declaration of function 'kexec_nonboot_cpu_func' [-Werror=implicit-function-declaration]
97 | if (!kexec_nonboot_cpu_func())
| ^~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c: In function 'kexec_shutdown_secondary':
arch/mips/kernel/machine_kexec.c:129:9: error: implicit declaration of function 'kexec_reboot' [-Werror=implicit-function-declaration]
129 | kexec_reboot();
| ^~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c: At top level:
arch/mips/kernel/machine_kexec.c:136:1: warning: no previous prototype for 'machine_shutdown' [-Wmissing-prototypes]
136 | machine_shutdown(void)
| ^~~~~~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c:152:1: warning: no previous prototype for 'machine_crash_shutdown' [-Wmissing-prototypes]
152 | machine_crash_shutdown(struct pt_regs *regs)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c: In function 'machine_crash_shutdown':
arch/mips/kernel/machine_kexec.c:157:17: error: implicit declaration of function 'default_machine_crash_shutdown'; did you mean '_machine_crash_shutdown'? [-Werror=implicit-function-declaration]
157 | default_machine_crash_shutdown(regs);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| _machine_crash_shutdown
arch/mips/kernel/machine_kexec.c: At top level:
arch/mips/kernel/machine_kexec.c:161:6: warning: no previous prototype for 'kexec_nonboot_cpu_jump' [-Wmissing-prototypes]
161 | void kexec_nonboot_cpu_jump(void)
| ^~~~~~~~~~~~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c:170:6: warning: no previous prototype for 'kexec_reboot' [-Wmissing-prototypes]
170 | void kexec_reboot(void)
| ^~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c:170:6: warning: conflicting types for 'kexec_reboot'; have 'void(void)'
arch/mips/kernel/machine_kexec.c:129:9: note: previous implicit declaration of 'kexec_reboot' with type 'void(void)'
129 | kexec_reboot();
| ^~~~~~~~~~~~
arch/mips/kernel/machine_kexec.c: In function 'kexec_reboot':
arch/mips/kernel/machine_kexec.c:191:17: error: implicit declaration of function 'kexec_nonboot_cpu'; did you mean 'kexec_nonboot_cpu_jump'? [-Werror=implicit-function-declaration]
191 | kexec_nonboot_cpu();
| ^~~~~~~~~~~~~~~~~
| kexec_nonboot_cpu_jump
arch/mips/kernel/machine_kexec.c: In function 'machine_kexec':
arch/mips/kernel/machine_kexec.c:259:26: error: 'kexec_smp_wait' undeclared (first use in this function)
259 | (void *)(kexec_smp_wait - relocate_new_kernel);
| ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/kexec_args +76 arch/mips/kernel/machine_kexec.c
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 54
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 55 static int uhi_machine_kexec_prepare(struct kimage *kimage)
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 56 {
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 57 int i;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 58
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 59 /*
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 60 * In case DTB file is not passed to the new kernel, a flat device
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 61 * tree will be created by kexec tool. It holds modified command
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 62 * line for the new kernel.
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 63 */
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 64 for (i = 0; i < kimage->nr_segments; i++) {
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 65 struct fdt_header fdt;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 66
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 67 if (kimage->segment[i].memsz <= sizeof(fdt))
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 68 continue;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 69
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 70 if (copy_from_user(&fdt, kimage->segment[i].buf, sizeof(fdt)))
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 71 continue;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 72
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 73 if (fdt_check_header(&fdt))
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 74 continue;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 75
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 @76 kexec_args[0] = -2;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 77 kexec_args[1] = (unsigned long)
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 78 phys_to_virt((unsigned long)kimage->segment[i].mem);
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 79 break;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 80 }
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 81
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 82 return 0;
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 83 }
2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 84
:::::: The code at line 76 was first introduced by commit
:::::: 2fe8ea39c9a8489799cf86bb377fc80492b5b3bf MIPS: kexec: Use prepare method from Generic for UHI platforms
:::::: TO: Dengcheng Zhu <dzhu@wavecomp.com>
:::::: CC: Paul Burton <paul.burton@mips.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [linux-next:master 4353/4884] arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared
2023-12-06 3:17 [linux-next:master 4353/4884] arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared kernel test robot
@ 2023-12-07 8:59 ` Baoquan He
0 siblings, 0 replies; 2+ messages in thread
From: Baoquan He @ 2023-12-07 8:59 UTC (permalink / raw)
To: Andrew Morton
Cc: oe-kbuild-all, kernel test robot, Linux Memory Management List
Hi Andrew,
On 12/06/23 at 11:17am, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 0f5f12ac05f36f117e793656c3f560625e927f1b
> commit: 4fa0ee5b7e2ddb44036b40795ca4a79d94edc7d4 [4353/4884] kexec_core: change dependency of object files
> config: mips-randconfig-r032-20220731 (https://download.01.org/0day-ci/archive/20231206/202312061137.QgjJ4nTc-lkp@intel.com/config)
> compiler: mipsel-linux-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231206/202312061137.QgjJ4nTc-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/202312061137.QgjJ4nTc-lkp@intel.com/
Could you drop below patch in your akpm-mm/mm-hotfixes-unstable?
commit 6113ecec4da0 ("kexec_core: change dependency of object files")
On next/master, it is:
commit 4fa0ee5b7e2d ("kexec_core: change dependency of object files")
Because the change is incomplete for relevant architectures, then compiling
error can be seen like this LKP report on mips. I have made patches to fix
them completely. Mips building passed with this LKP reproducer.
Thanks
Baoquan
>
> All errors (new ones prefixed by >>):
>
> arch/mips/kernel/machine_kexec.c: In function 'uhi_machine_kexec_prepare':
> >> arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared (first use in this function)
> 76 | kexec_args[0] = -2;
> | ^~~~~~~~~~
> arch/mips/kernel/machine_kexec.c:76:17: note: each undeclared identifier is reported only once for each function it appears in
> arch/mips/kernel/machine_kexec.c: In function 'machine_kexec_prepare':
> arch/mips/kernel/machine_kexec.c:97:14: error: implicit declaration of function 'kexec_nonboot_cpu_func' [-Werror=implicit-function-declaration]
> 97 | if (!kexec_nonboot_cpu_func())
> | ^~~~~~~~~~~~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c: In function 'kexec_shutdown_secondary':
> arch/mips/kernel/machine_kexec.c:129:9: error: implicit declaration of function 'kexec_reboot' [-Werror=implicit-function-declaration]
> 129 | kexec_reboot();
> | ^~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c: At top level:
> arch/mips/kernel/machine_kexec.c:136:1: warning: no previous prototype for 'machine_shutdown' [-Wmissing-prototypes]
> 136 | machine_shutdown(void)
> | ^~~~~~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c:152:1: warning: no previous prototype for 'machine_crash_shutdown' [-Wmissing-prototypes]
> 152 | machine_crash_shutdown(struct pt_regs *regs)
> | ^~~~~~~~~~~~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c: In function 'machine_crash_shutdown':
> arch/mips/kernel/machine_kexec.c:157:17: error: implicit declaration of function 'default_machine_crash_shutdown'; did you mean '_machine_crash_shutdown'? [-Werror=implicit-function-declaration]
> 157 | default_machine_crash_shutdown(regs);
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | _machine_crash_shutdown
> arch/mips/kernel/machine_kexec.c: At top level:
> arch/mips/kernel/machine_kexec.c:161:6: warning: no previous prototype for 'kexec_nonboot_cpu_jump' [-Wmissing-prototypes]
> 161 | void kexec_nonboot_cpu_jump(void)
> | ^~~~~~~~~~~~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c:170:6: warning: no previous prototype for 'kexec_reboot' [-Wmissing-prototypes]
> 170 | void kexec_reboot(void)
> | ^~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c:170:6: warning: conflicting types for 'kexec_reboot'; have 'void(void)'
> arch/mips/kernel/machine_kexec.c:129:9: note: previous implicit declaration of 'kexec_reboot' with type 'void(void)'
> 129 | kexec_reboot();
> | ^~~~~~~~~~~~
> arch/mips/kernel/machine_kexec.c: In function 'kexec_reboot':
> arch/mips/kernel/machine_kexec.c:191:17: error: implicit declaration of function 'kexec_nonboot_cpu'; did you mean 'kexec_nonboot_cpu_jump'? [-Werror=implicit-function-declaration]
> 191 | kexec_nonboot_cpu();
> | ^~~~~~~~~~~~~~~~~
> | kexec_nonboot_cpu_jump
> arch/mips/kernel/machine_kexec.c: In function 'machine_kexec':
> arch/mips/kernel/machine_kexec.c:259:26: error: 'kexec_smp_wait' undeclared (first use in this function)
> 259 | (void *)(kexec_smp_wait - relocate_new_kernel);
> | ^~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
>
>
> vim +/kexec_args +76 arch/mips/kernel/machine_kexec.c
>
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 54
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 55 static int uhi_machine_kexec_prepare(struct kimage *kimage)
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 56 {
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 57 int i;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 58
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 59 /*
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 60 * In case DTB file is not passed to the new kernel, a flat device
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 61 * tree will be created by kexec tool. It holds modified command
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 62 * line for the new kernel.
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 63 */
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 64 for (i = 0; i < kimage->nr_segments; i++) {
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 65 struct fdt_header fdt;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 66
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 67 if (kimage->segment[i].memsz <= sizeof(fdt))
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 68 continue;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 69
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 70 if (copy_from_user(&fdt, kimage->segment[i].buf, sizeof(fdt)))
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 71 continue;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 72
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 73 if (fdt_check_header(&fdt))
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 74 continue;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 75
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 @76 kexec_args[0] = -2;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 77 kexec_args[1] = (unsigned long)
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 78 phys_to_virt((unsigned long)kimage->segment[i].mem);
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 79 break;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 80 }
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 81
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 82 return 0;
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 83 }
> 2fe8ea39c9a848 Dengcheng Zhu 2018-09-11 84
>
> :::::: The code at line 76 was first introduced by commit
> :::::: 2fe8ea39c9a8489799cf86bb377fc80492b5b3bf MIPS: kexec: Use prepare method from Generic for UHI platforms
>
> :::::: TO: Dengcheng Zhu <dzhu@wavecomp.com>
> :::::: CC: Paul Burton <paul.burton@mips.com>
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-12-07 8:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-06 3:17 [linux-next:master 4353/4884] arch/mips/kernel/machine_kexec.c:76:17: error: 'kexec_args' undeclared kernel test robot
2023-12-07 8:59 ` Baoquan He
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox