在 2019年11月14日 20:39, Borislav Petkov 写道: > On Fri, Nov 08, 2019 at 05:00:27PM +0800, Lianbo Jiang wrote: >> Kbuild test robot reported some build warnings as follow: >> >> arch/x86/include/asm/crash.h:5:32: warning: 'struct kimage' declared >> inside parameter list will not be visible outside of this definition >> or declaration >> int crash_load_segments(struct kimage *image); >> ^~~~~~ >> int crash_copy_backup_region(struct kimage *image); >> ^~~~~~ >> int crash_setup_memmap_entries(struct kimage *image, >> ^~~~~~ >> The 'struct kimage' is defined in the header file include/linux/kexec.h, >> before using it, need to include its header file or make a declaration. >> Otherwise the above warnings may be triggered. >> >> Add a declaration of struct kimage to the file arch/x86/include/asm/ >> crash.h, that will solve these compile warnings. >> >> Fixes: dd5f726076cc ("kexec: support for kexec on panic using new system call") > > This is, of course, wrong. Your *first* patch is introducing those > warnings and I'm wondering how did you not see them during building? > I really saw my building result, but kbuild reported the following messages: vim +5 arch/x86/include/asm/crash.h dd5f726076cc76 Vivek Goyal 2014-08-08 4 dd5f726076cc76 Vivek Goyal 2014-08-08 @5 int crash_load_segments(struct kimage *image); dd5f726076cc76 Vivek Goyal 2014-08-08 6 int crash_copy_backup_region(struct kimage *image); dd5f726076cc76 Vivek Goyal 2014-08-08 7 int crash_setup_memmap_entries(struct kimage *image, dd5f726076cc76 Vivek Goyal 2014-08-08 8 struct boot_params *params); 89f579ce99f7e0 Yi Wang 2018-11-22 9 void crash_smp_send_stop(void); dd5f726076cc76 Vivek Goyal 2014-08-08 10 :::::: The code at line 5 was first introduced by commit ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :::::: dd5f726076cc7639d9713b334c8c133f77c6757a kexec: support for kexec on panic using new system call ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Would you mind giving me any suggestions about this? > In file included from arch/x86/realmode/init.c:11: > ./arch/x86/include/asm/crash.h:5:32: warning: ‘struct kimage’ declared inside parameter list will not be visible outside of this definition or declaration > 5 | int crash_load_segments(struct kimage *image); > | ^~~~~~ > ./arch/x86/include/asm/crash.h:6:37: warning: ‘struct kimage’ declared inside parameter list will not be visible outside of this definition or declaration > 6 | int crash_copy_backup_region(struct kimage *image); > | ^~~~~~ > ./arch/x86/include/asm/crash.h:7:39: warning: ‘struct kimage’ declared inside parameter list will not be visible outside of this definition or declaration > 7 | int crash_setup_memmap_entries(struct kimage *image, > | > > > And that happens because you've included asm/crash.h in > arch/x86/realmode/init.c and it of course complains because it hasn't > seen that struct yet. > Exactly. Last time, i fixed the warnings in my first patch, please refer to the patch v8(resend). Link: https://lkml.kernel.org/r/20191031033517.11282-2-lijiang@xxxxxxxxxx -[PATCH 1/2 RESEND v8] x86/kdump: always reserve the low 1M when the crashkernel option is specified And kbuild said that need to add the reported-by, please refer to the following Link. Link: https://lkml.kernel.org/r/201910310233.EJRtTMWP%25lkp@xxxxxxxxx > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@xxxxxxxxx> Any idea about this? Any suggestions will be appreciated. Thanks. Lianbo _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec