Hi Coiby, kernel test robot noticed the following build errors: [auto build test ERROR on e42b1a9a2557aa94fee47f078633677198386a52] url: https://github.com/intel-lab-lkp/linux/commits/Coiby-Xu/kexec_file-allow-to-place-kexec_buf-randomly/20241029-135449 base: e42b1a9a2557aa94fee47f078633677198386a52 patch link: https://lore.kernel.org/r/20241029055223.210039-4-coxu%40redhat.com patch subject: [PATCH v6 3/7] crash_dump: store dm crypt keys in kdump reserved memory config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20241029/202410292237.HA9vMqbC-lkp@xxxxxxxxx/config) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241029/202410292237.HA9vMqbC-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/202410292237.HA9vMqbC-lkp@xxxxxxxxx/ All error/warnings (new ones prefixed by >>): kernel/crash_dump_dm_crypt.c: In function 'crash_load_dm_crypt_keys': >> kernel/crash_dump_dm_crypt.c:221:16: error: variable 'kbuf' has initializer but incomplete type 221 | struct kexec_buf kbuf = { | ^~~~~~~~~ >> kernel/crash_dump_dm_crypt.c:222:18: error: 'struct kexec_buf' has no member named 'image' 222 | .image = image, | ^~~~~ >> kernel/crash_dump_dm_crypt.c:222:26: warning: excess elements in struct initializer 222 | .image = image, | ^~~~~ kernel/crash_dump_dm_crypt.c:222:26: note: (near initialization for 'kbuf') >> kernel/crash_dump_dm_crypt.c:223:18: error: 'struct kexec_buf' has no member named 'buf_min' 223 | .buf_min = 0, | ^~~~~~~ kernel/crash_dump_dm_crypt.c:223:28: warning: excess elements in struct initializer 223 | .buf_min = 0, | ^ kernel/crash_dump_dm_crypt.c:223:28: note: (near initialization for 'kbuf') >> kernel/crash_dump_dm_crypt.c:224:18: error: 'struct kexec_buf' has no member named 'buf_max' 224 | .buf_max = ULONG_MAX, | ^~~~~~~ In file included from include/linux/limits.h:7, from include/linux/thread_info.h:12, from include/asm-generic/preempt.h:5, from ./arch/loongarch/include/generated/asm/preempt.h:1, from include/linux/preempt.h:79, from include/linux/rcupdate.h:27, from include/linux/rbtree.h:24, from include/linux/key.h:15, from kernel/crash_dump_dm_crypt.c:2: >> include/vdso/limits.h:13:25: warning: excess elements in struct initializer 13 | #define ULONG_MAX (~0UL) | ^ kernel/crash_dump_dm_crypt.c:224:28: note: in expansion of macro 'ULONG_MAX' 224 | .buf_max = ULONG_MAX, | ^~~~~~~~~ include/vdso/limits.h:13:25: note: (near initialization for 'kbuf') 13 | #define ULONG_MAX (~0UL) | ^ kernel/crash_dump_dm_crypt.c:224:28: note: in expansion of macro 'ULONG_MAX' 224 | .buf_max = ULONG_MAX, | ^~~~~~~~~ >> kernel/crash_dump_dm_crypt.c:225:18: error: 'struct kexec_buf' has no member named 'top_down' 225 | .top_down = false, | ^~~~~~~~ kernel/crash_dump_dm_crypt.c:225:29: warning: excess elements in struct initializer 225 | .top_down = false, | ^~~~~ kernel/crash_dump_dm_crypt.c:225:29: note: (near initialization for 'kbuf') >> kernel/crash_dump_dm_crypt.c:226:18: error: 'struct kexec_buf' has no member named 'random' 226 | .random = true, | ^~~~~~ kernel/crash_dump_dm_crypt.c:226:27: warning: excess elements in struct initializer 226 | .random = true, | ^~~~ kernel/crash_dump_dm_crypt.c:226:27: note: (near initialization for 'kbuf') >> kernel/crash_dump_dm_crypt.c:221:26: error: storage size of 'kbuf' isn't known 221 | struct kexec_buf kbuf = { | ^~~~ >> kernel/crash_dump_dm_crypt.c:246:20: error: 'KEXEC_BUF_MEM_UNKNOWN' undeclared (first use in this function) 246 | kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; | ^~~~~~~~~~~~~~~~~~~~~ kernel/crash_dump_dm_crypt.c:246:20: note: each undeclared identifier is reported only once for each function it appears in >> kernel/crash_dump_dm_crypt.c:247:13: error: implicit declaration of function 'kexec_add_buffer' [-Wimplicit-function-declaration] 247 | r = kexec_add_buffer(&kbuf); | ^~~~~~~~~~~~~~~~ >> kernel/crash_dump_dm_crypt.c:221:26: warning: unused variable 'kbuf' [-Wunused-variable] 221 | struct kexec_buf kbuf = { | ^~~~ vim +/kbuf +221 kernel/crash_dump_dm_crypt.c 218 219 int crash_load_dm_crypt_keys(struct kimage *image) 220 { > 221 struct kexec_buf kbuf = { > 222 .image = image, > 223 .buf_min = 0, > 224 .buf_max = ULONG_MAX, > 225 .top_down = false, > 226 .random = true, 227 }; 228 int r; 229 230 231 if (key_count <= 0) { 232 kexec_dprintk("No dm-crypt keys\n"); 233 return -EINVAL; 234 } 235 236 image->dm_crypt_keys_addr = 0; 237 r = build_keys_header(); 238 if (r) 239 return r; 240 241 kbuf.buffer = keys_header; 242 kbuf.bufsz = get_keys_header_size(key_count); 243 244 kbuf.memsz = kbuf.bufsz; 245 kbuf.buf_align = ELF_CORE_HEADER_ALIGN; > 246 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; > 247 r = kexec_add_buffer(&kbuf); 248 if (r) { 249 kvfree((void *)kbuf.buffer); 250 return r; 251 } 252 image->dm_crypt_keys_addr = kbuf.mem; 253 image->dm_crypt_keys_sz = kbuf.bufsz; 254 kexec_dprintk( 255 "Loaded dm crypt keys to kexec_buffer bufsz=0x%lx memsz=0x%lx\n", 256 kbuf.bufsz, kbuf.bufsz); 257 258 return r; 259 } 260 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec