lkml.org 
[lkml]   [2022]   [Mar]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 2/3] arm64: mm: Don't defer reserve_crashkernel() with dma_force_32bit
Hi Kefeng,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on next-20220330]
[cannot apply to arm64/for-next/core v5.17 v5.17-rc8 v5.17-rc7 v5.17]
[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]

url: https://github.com/intel-lab-lkp/linux/commits/Kefeng-Wang/arm64-mm-Do-not-defer-reserve_crashkernel/20220331-105429
base: a67ba3cf9551f8c92d5ec9d7eae1aadbb9127b57
config: arm64-randconfig-r035-20220331 (https://download.01.org/0day-ci/archive/20220331/202203311421.VENALFHe-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/05592b78cd421b988704f52eba353278a3c22ee4
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Kefeng-Wang/arm64-mm-Do-not-defer-reserve_crashkernel/20220331-105429
git checkout 05592b78cd421b988704f52eba353278a3c22ee4
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 prepare

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

In file included from include/linux/kexec.h:34,
from arch/arm64/kernel/asm-offsets.c:12:
>> arch/arm64/include/asm/kexec.h:97:6: warning: no previous prototype for 'crashkernel_could_early_reserve' [-Wmissing-prototypes]
97 | bool crashkernel_could_early_reserve(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/arm64/include/asm/kexec.h: In function 'crashkernel_could_early_reserve':
>> arch/arm64/include/asm/kexec.h:102:1: warning: empty declaration
102 | struct kimage_arch {
| ^~~~~~
>> arch/arm64/include/asm/kexec.h:115:36: error: storage class specified for parameter 'kexec_image_ops'
115 | extern const struct kexec_file_ops kexec_image_ops;
| ^~~~~~~~~~~~~~~
arch/arm64/include/asm/kexec.h:117:1: warning: empty declaration
117 | struct kimage;
| ^~~~~~
>> arch/arm64/include/asm/kexec.h:119:12: error: storage class specified for parameter 'arch_kimage_file_post_load_cleanup'
119 | extern int arch_kimage_file_post_load_cleanup(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/kexec.h:120:12: error: storage class specified for parameter 'load_other_segments'
120 | extern int load_other_segments(struct kimage *image,
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/arm64/kernel/asm-offsets.c:12:
>> include/linux/kexec.h:77:23: error: storage class specified for parameter 'kimage_entry_t'
77 | typedef unsigned long kimage_entry_t;
| ^~~~~~~~~~~~~~
>> include/linux/kexec.h:79:1: warning: empty declaration
79 | struct kexec_segment {
| ^~~~~~
include/linux/kexec.h:107:1: warning: empty declaration
107 | struct purgatory_info {
| ^~~~~~
include/linux/kexec.h:125:1: warning: empty declaration
125 | struct kimage;
| ^~~~~~
>> include/linux/kexec.h:127:14: error: storage class specified for parameter 'kexec_probe_t'
127 | typedef int (kexec_probe_t)(const char *kernel_buf, unsigned long kernel_size);
| ^~~~~~~~~~~~~
>> include/linux/kexec.h:128:16: error: storage class specified for parameter 'kexec_load_t'
128 | typedef void *(kexec_load_t)(struct kimage *image, char *kernel_buf,
| ^~~~~~~~~~~~
>> include/linux/kexec.h:132:14: error: storage class specified for parameter 'kexec_cleanup_t'
132 | typedef int (kexec_cleanup_t)(void *loader_data);
| ^~~~~~~~~~~~~~~
>> include/linux/kexec.h:135:14: error: storage class specified for parameter 'kexec_verify_sig_t'
135 | typedef int (kexec_verify_sig_t)(const char *kernel_buf,
| ^~~~~~~~~~~~~~~~~~
>> include/linux/kexec.h:140:9: error: expected specifier-qualifier-list before 'kexec_probe_t'
140 | kexec_probe_t *probe;
| ^~~~~~~~~~~~~
include/linux/kexec.h:139:1: warning: empty declaration
139 | struct kexec_file_ops {
| ^~~~~~
>> include/linux/kexec.h:148:44: error: storage class specified for parameter 'kexec_file_loaders'
148 | extern const struct kexec_file_ops * const kexec_file_loaders[];
| ^~~~~~~~~~~~~~~~~~
include/linux/kexec.h:174:1: warning: empty declaration
174 | struct kexec_buf {
| ^~~~~~
>> include/linux/kexec.h:204:5: error: redefinition of parameter 'arch_kimage_file_post_load_cleanup'
204 | int arch_kimage_file_post_load_cleanup(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kexec.h:34,
from arch/arm64/kernel/asm-offsets.c:12:
arch/arm64/include/asm/kexec.h:119:12: note: previous definition of 'arch_kimage_file_post_load_cleanup' with type 'int (*)(struct kimage *)'
119 | extern int arch_kimage_file_post_load_cleanup(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/arm64/kernel/asm-offsets.c:12:
>> include/linux/kexec.h:211:12: error: storage class specified for parameter 'kexec_add_buffer'
211 | extern int kexec_add_buffer(struct kexec_buf *kbuf);
| ^~~~~~~~~~~~~~~~
include/linux/kexec.h:217:1: warning: empty declaration
217 | struct crash_mem_range {
| ^~~~~~
include/linux/kexec.h:221:1: warning: empty declaration
221 | struct crash_mem {
| ^~~~~~
>> include/linux/kexec.h:227:12: error: storage class specified for parameter 'crash_exclude_mem_range'
227 | extern int crash_exclude_mem_range(struct crash_mem *mem,
| ^~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/kexec.h:230:12: error: storage class specified for parameter 'crash_prepare_elf64_headers'
230 | extern int crash_prepare_elf64_headers(struct crash_mem *mem, int kernel_map,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> include/linux/kexec.h:258:9: error: expected specifier-qualifier-list before 'kimage_entry_t'
258 | kimage_entry_t head;
| ^~~~~~~~~~~~~~
include/linux/kexec.h:257:1: warning: empty declaration
257 | struct kimage {
| ^~~~~~
>> include/linux/kexec.h:325:13: error: storage class specified for parameter 'machine_kexec'
325 | extern void machine_kexec(struct kimage *image);
| ^~~~~~~~~~~~~
>> include/linux/kexec.h:326:12: error: storage class specified for parameter 'machine_kexec_prepare'
326 | extern int machine_kexec_prepare(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/kexec.h:327:13: error: storage class specified for parameter 'machine_kexec_cleanup'
327 | extern void machine_kexec_cleanup(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/kexec.h:328:12: error: storage class specified for parameter 'kernel_kexec'
328 | extern int kernel_kexec(void);
| ^~~~~~~~~~~~
include/linux/kexec.h:329:21: error: storage class specified for parameter 'kimage_alloc_control_pages'
329 | extern struct page *kimage_alloc_control_pages(struct kimage *image,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kexec.h:333:13: error: storage class specified for parameter '__crash_kexec'
333 | extern void __crash_kexec(struct pt_regs *);
| ^~~~~~~~~~~~~
include/linux/kexec.h:334:13: error: storage class specified for parameter 'crash_kexec'
334 | extern void crash_kexec(struct pt_regs *);
| ^~~~~~~~~~~
include/linux/kexec.h:338:12: error: storage class specified for parameter 'kimage_crash_copy_vmcoreinfo'
338 | extern int kimage_crash_copy_vmcoreinfo(struct kimage *image);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kexec.h:340:23: error: storage class specified for parameter 'kexec_image'
340 | extern struct kimage *kexec_image;
| ^~~~~~~~~~~
include/linux/kexec.h:341:23: error: storage class specified for parameter 'kexec_crash_image'
341 | extern struct kimage *kexec_crash_image;
| ^~~~~~~~~~~~~~~~~
include/linux/kexec.h:342:12: error: storage class specified for parameter 'kexec_load_disabled'
342 | extern int kexec_load_disabled;
| ^~~~~~~~~~~~~~~~~~~
include/linux/kexec.h:360:13: error: storage class specified for parameter 'kexec_in_progress'
360 | extern bool kexec_in_progress;
| ^~~~~~~~~~~~~~~~~
include/linux/kexec.h:371:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
371 | {
| ^
include/linux/kexec.h:378:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
378 | {
| ^
include/linux/kexec.h:385:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
385 | {
| ^
include/linux/kexec.h:392:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
392 | {
| ^
include/linux/kexec.h:398:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
398 | {
| ^
include/linux/kexec.h:403:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
403 | {
| ^
include/linux/kexec.h:408:91: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
408 | static inline int arch_kexec_post_alloc_pages(void *vaddr, unsigned int pages, gfp_t gfp) { return 0; }
| ^
include/linux/kexec.h:412:79: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
412 | static inline void arch_kexec_pre_free_pages(void *vaddr, unsigned int pages) { }
| ^
In file included from include/linux/dma-mapping.h:9,
from arch/arm64/kernel/asm-offsets.c:14:
include/linux/dma-direction.h:5:1: warning: empty declaration
5 | enum dma_data_direction {
| ^~~~
include/linux/dma-direction.h:13:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
13 | {
| ^
In file included from include/linux/dma-mapping.h:10,
from arch/arm64/kernel/asm-offsets.c:14:
include/linux/scatterlist.h:11:1: warning: empty declaration
11 | struct scatterlist {
| ^~~~~~
include/linux/scatterlist.h:36:1: warning: empty declaration
36 | struct sg_table {
| ^~~~~~
include/linux/scatterlist.h:42:1: warning: empty declaration
42 | struct sg_append_table {
| ^~~~~~
include/linux/scatterlist.h:75:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
75 | {
| ^
include/linux/scatterlist.h:80:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
80 | {
| ^
include/linux/scatterlist.h:85:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
85 | {
| ^
include/linux/scatterlist.h:90:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
90 | {
| ^
include/linux/scatterlist.h:105:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
105 | {
| ^
include/linux/scatterlist.h:135:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
135 | {
| ^
include/linux/scatterlist.h:142:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
142 | {
| ^
include/linux/scatterlist.h:158:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
158 | {
| ^
include/linux/scatterlist.h:187:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token


vim +/kexec_image_ops +115 arch/arm64/include/asm/kexec.h

254a41c0ba0573 AKASHI Takahiro 2017-04-03 92
7a2512fa649397 Pasha Tatashin 2021-09-30 93 #if defined(CONFIG_KEXEC_CORE)
7a2512fa649397 Pasha Tatashin 2021-09-30 94 void cpu_soft_restart(unsigned long el2_switch, unsigned long entry,
7a2512fa649397 Pasha Tatashin 2021-09-30 95 unsigned long arg0, unsigned long arg1,
7a2512fa649397 Pasha Tatashin 2021-09-30 96 unsigned long arg2);
05592b78cd421b Kefeng Wang 2022-03-31 @97 bool crashkernel_could_early_reserve(void)
7a2512fa649397 Pasha Tatashin 2021-09-30 98 #endif
7a2512fa649397 Pasha Tatashin 2021-09-30 99
52b2a8af743604 AKASHI Takahiro 2018-11-15 100 #define ARCH_HAS_KIMAGE_ARCH
52b2a8af743604 AKASHI Takahiro 2018-11-15 101
52b2a8af743604 AKASHI Takahiro 2018-11-15 @102 struct kimage_arch {
52b2a8af743604 AKASHI Takahiro 2018-11-15 103 void *dtb;
117cda9a784728 Pavel Tatashin 2021-01-25 104 phys_addr_t dtb_mem;
4c3c31230c912d Pavel Tatashin 2021-01-25 105 phys_addr_t kern_reloc;
08eae0ef618f34 Pasha Tatashin 2021-09-30 106 phys_addr_t el2_vectors;
efc2d0f20a9dab Pasha Tatashin 2021-09-30 107 phys_addr_t ttbr0;
3744b5280e67f5 Pasha Tatashin 2021-09-30 108 phys_addr_t ttbr1;
3744b5280e67f5 Pasha Tatashin 2021-09-30 109 phys_addr_t zero_page;
efc2d0f20a9dab Pasha Tatashin 2021-09-30 110 unsigned long phys_offset;
efc2d0f20a9dab Pasha Tatashin 2021-09-30 111 unsigned long t0sz;
52b2a8af743604 AKASHI Takahiro 2018-11-15 112 };
52b2a8af743604 AKASHI Takahiro 2018-11-15 113
117cda9a784728 Pavel Tatashin 2021-01-25 114 #ifdef CONFIG_KEXEC_FILE
f3b70e50942960 AKASHI Takahiro 2018-11-15 @115 extern const struct kexec_file_ops kexec_image_ops;
f3b70e50942960 AKASHI Takahiro 2018-11-15 116
52b2a8af743604 AKASHI Takahiro 2018-11-15 117 struct kimage;
52b2a8af743604 AKASHI Takahiro 2018-11-15 118
52b2a8af743604 AKASHI Takahiro 2018-11-15 @119 extern int arch_kimage_file_post_load_cleanup(struct kimage *image);
52b2a8af743604 AKASHI Takahiro 2018-11-15 @120 extern int load_other_segments(struct kimage *image,
52b2a8af743604 AKASHI Takahiro 2018-11-15 121 unsigned long kernel_load_addr, unsigned long kernel_size,
52b2a8af743604 AKASHI Takahiro 2018-11-15 122 char *initrd, unsigned long initrd_len,
52b2a8af743604 AKASHI Takahiro 2018-11-15 123 char *cmdline);
52b2a8af743604 AKASHI Takahiro 2018-11-15 124 #endif
52b2a8af743604 AKASHI Takahiro 2018-11-15 125

--
0-DAY CI Kernel Test Service
https://01.org/lkp

\
 
 \ /
  Last update: 2022-03-31 09:05    [W:0.062 / U:1.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site