Hi Coiby,

On 05/24/24 at 11:17am, kernel test robot wrote:
> Hi Coiby,
> 
> kernel test robot noticed the following build errors:
> 
> [auto build test ERROR on de7e71ef8bed222dd144d8878091ecb6d5dfd208]
> 
> url:    
> https://github.com/intel-lab-lkp/linux/commits/Coiby-Xu/kexec_file-allow-to-place-kexec_buf-randomly/20240523-130727
> base:   de7e71ef8bed222dd144d8878091ecb6d5dfd208
> patch link:    
> https://lore.kernel.org/r/20240523050451.788754-4-coxu%40redhat.com
> patch subject: [PATCH v4 3/7] crash_dump: store dm keys in kdump reserved 
> memory
> config: arm-allmodconfig 
> (https://download.01.org/0day-ci/archive/20240524/[email protected]/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 13.2.0
> reproduce (this is a W=1 build): 
> (https://download.01.org/0day-ci/archive/20240524/[email protected]/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 <[email protected]>
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> 
> All errors (new ones prefixed by >>):

Please respond to lkp report sooner, otherwise the reproducer link could
be unavailable.

> 
>    kernel/crash_dump_dm_crypt.c: In function 'crash_load_dm_crypt_keys':
> >> kernel/crash_dump_dm_crypt.c:158:16: error: variable 'kbuf' has 
> >> initializer but incomplete type
>      158 |         struct kexec_buf kbuf = {
>          |                ^~~~~~~~~
> >> kernel/crash_dump_dm_crypt.c:159:18: error: 'struct kexec_buf' has no 
> >> member named 'image'
>      159 |                 .image = image,
>          |                  ^~~~~
>    kernel/crash_dump_dm_crypt.c:159:26: warning: excess elements in struct 
> initializer
>      159 |                 .image = image,
>          |                          ^~~~~
>    kernel/crash_dump_dm_crypt.c:159:26: note: (near initialization for 'kbuf')
> >> kernel/crash_dump_dm_crypt.c:160:18: error: 'struct kexec_buf' has no 
> >> member named 'buf_min'
>      160 |                 .buf_min = 0,
>          |                  ^~~~~~~
>    kernel/crash_dump_dm_crypt.c:160:28: warning: excess elements in struct 
> initializer
>      160 |                 .buf_min = 0,
>          |                            ^
>    kernel/crash_dump_dm_crypt.c:160:28: note: (near initialization for 'kbuf')
> >> kernel/crash_dump_dm_crypt.c:161:18: error: 'struct kexec_buf' has no 
> >> member named 'buf_max'
>      161 |                 .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/arm/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:161:28: note: in expansion of macro 
> 'ULONG_MAX'
>      161 |                 .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:161:28: note: in expansion of macro 
> 'ULONG_MAX'
>      161 |                 .buf_max = ULONG_MAX,
>          |                            ^~~~~~~~~
> >> kernel/crash_dump_dm_crypt.c:162:18: error: 'struct kexec_buf' has no 
> >> member named 'top_down'
>      162 |                 .top_down = false,
>          |                  ^~~~~~~~
>    kernel/crash_dump_dm_crypt.c:162:29: warning: excess elements in struct 
> initializer
>      162 |                 .top_down = false,
>          |                             ^~~~~
>    kernel/crash_dump_dm_crypt.c:162:29: note: (near initialization for 'kbuf')
> >> kernel/crash_dump_dm_crypt.c:163:18: error: 'struct kexec_buf' has no 
> >> member named 'random'
>      163 |                 .random = true,
>          |                  ^~~~~~
>    kernel/crash_dump_dm_crypt.c:163:27: warning: excess elements in struct 
> initializer
>      163 |                 .random = true,
>          |                           ^~~~
>    kernel/crash_dump_dm_crypt.c:163:27: note: (near initialization for 'kbuf')
> >> kernel/crash_dump_dm_crypt.c:158:26: error: storage size of 'kbuf' isn't 
> >> known
>      158 |         struct kexec_buf kbuf = {
>          |                          ^~~~
> >> kernel/crash_dump_dm_crypt.c:187:20: error: 'KEXEC_BUF_MEM_UNKNOWN' 
> >> undeclared (first use in this function)
>      187 |         kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>          |                    ^~~~~~~~~~~~~~~~~~~~~
>    kernel/crash_dump_dm_crypt.c:187:20: note: each undeclared identifier is 
> reported only once for each function it appears in
> >> kernel/crash_dump_dm_crypt.c:188:13: error: implicit declaration of 
> >> function 'kexec_add_buffer' [-Werror=implicit-function-declaration]
>      188 |         r = kexec_add_buffer(&kbuf);
>          |             ^~~~~~~~~~~~~~~~
>    kernel/crash_dump_dm_crypt.c:158:26: warning: unused variable 'kbuf' 
> [-Wunused-variable]
>      158 |         struct kexec_buf kbuf = {
>          |                          ^~~~
>    cc1: some warnings being treated as errors
> 
> 
> vim +/kbuf +158 kernel/crash_dump_dm_crypt.c
> 
>    155        
>    156        int crash_load_dm_crypt_keys(struct kimage *image)
>    157        {
>  > 158                struct kexec_buf kbuf = {
>  > 159                        .image = image,
>  > 160                        .buf_min = 0,
>  > 161                        .buf_max = ULONG_MAX,
>  > 162                        .top_down = false,
>  > 163                        .random = true,
>    164                };
>    165        
>    166                int r;
>    167        
>    168                if (state == FRESH)
>    169                        return 0;
>    170        
>    171                if (key_count != keys_header->key_count) {
>    172                        pr_err("Only record %u keys (%u in total)\n", 
> key_count,
>    173                               keys_header->key_count);
>    174                        return -EINVAL;
>    175                }
>    176        
>    177                image->dm_crypt_keys_addr = 0;
>    178                r = build_keys_header();
>    179                if (r)
>    180                        return r;
>    181        
>    182                kbuf.buffer = keys_header;
>    183                kbuf.bufsz = keys_header_size;
>    184        
>    185                kbuf.memsz = kbuf.bufsz;
>    186                kbuf.buf_align = ELF_CORE_HEADER_ALIGN;
>  > 187                kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
>  > 188                r = kexec_add_buffer(&kbuf);
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
> 


_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to