[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202602120648.RgQALnnI-lkp@intel.com>
Date: Thu, 12 Feb 2026 06:35:52 +0800
From: kernel test robot <lkp@...el.com>
To: Coiby Xu <coxu@...hat.com>, kexec@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linuxppc-dev@...ts.ozlabs.org,
devicetree@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev,
Arnaud Lefebvre <arnaud.lefebvre@...ver-cloud.com>,
Baoquan he <bhe@...hat.com>, Dave Young <dyoung@...hat.com>,
Kairui Song <ryncsn@...il.com>, Pingfan Liu <kernelfans@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Rob Herring <robh@...nel.org>, Thomas Staudt <tstaudt@...ibm.com>,
Sourabh Jain <sourabhjain@...ux.ibm.com>,
Will Deacon <will@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Madhavan Srinivasan <maddy@...ux.ibm.com>,
Michael Ellerman <mpe@...erman.id.au>,
Nicholas Piggin <npiggin@...il.com>,
"Christophe Leroy (CS GROUP)" <chleroy@...nel.org>,
Saravana Kannan <saravanak@...nel.org>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/2] arm64,ppc64le/kdump: pass dm-crypt keys to kdump
kernel
Hi Coiby,
kernel test robot noticed the following build errors:
[auto build test ERROR on 2619c62b7ef2f463bcbbb34af122689c09855c23]
url: https://github.com/intel-lab-lkp/linux/commits/Coiby-Xu/crash_dump-dm-crypt-Don-t-print-in-arch-specific-code/20260211-162729
base: 2619c62b7ef2f463bcbbb34af122689c09855c23
patch link: https://lore.kernel.org/r/20260211082401.2407853-3-coxu%40redhat.com
patch subject: [PATCH v4 2/2] arm64,ppc64le/kdump: pass dm-crypt keys to kdump kernel
config: powerpc64-randconfig-r111-20260212 (https://download.01.org/0day-ci/archive/20260212/202602120648.RgQALnnI-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260212/202602120648.RgQALnnI-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202602120648.RgQALnnI-lkp@intel.com/
All errors (new ones prefixed by >>):
arch/powerpc/kexec/elf_64.c: In function 'elf64_load':
>> arch/powerpc/kexec/elf_64.c:82:23: error: implicit declaration of function 'crash_load_dm_crypt_keys' [-Werror=implicit-function-declaration]
82 | ret = crash_load_dm_crypt_keys(image);
| ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/crash_load_dm_crypt_keys +82 arch/powerpc/kexec/elf_64.c
27
28 static void *elf64_load(struct kimage *image, char *kernel_buf,
29 unsigned long kernel_len, char *initrd,
30 unsigned long initrd_len, char *cmdline,
31 unsigned long cmdline_len)
32 {
33 int ret;
34 unsigned long kernel_load_addr;
35 unsigned long initrd_load_addr = 0, fdt_load_addr;
36 void *fdt;
37 const void *slave_code;
38 struct elfhdr ehdr;
39 char *modified_cmdline = NULL;
40 struct crash_mem *rmem = NULL;
41 struct kexec_elf_info elf_info;
42 struct kexec_buf kbuf = { .image = image, .buf_min = 0,
43 .buf_max = ppc64_rma_size };
44 struct kexec_buf pbuf = { .image = image, .buf_min = 0,
45 .buf_max = ppc64_rma_size, .top_down = true,
46 .mem = KEXEC_BUF_MEM_UNKNOWN };
47
48 ret = kexec_build_elf_info(kernel_buf, kernel_len, &ehdr, &elf_info);
49 if (ret)
50 return ERR_PTR(ret);
51
52 if (IS_ENABLED(CONFIG_CRASH_DUMP) && image->type == KEXEC_TYPE_CRASH) {
53 /* min & max buffer values for kdump case */
54 kbuf.buf_min = pbuf.buf_min = crashk_res.start;
55 kbuf.buf_max = pbuf.buf_max =
56 ((crashk_res.end < ppc64_rma_size) ?
57 crashk_res.end : (ppc64_rma_size - 1));
58 }
59
60 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr);
61 if (ret)
62 goto out;
63
64 kexec_dprintk("Loaded the kernel at 0x%lx\n", kernel_load_addr);
65
66 ret = kexec_load_purgatory(image, &pbuf);
67 if (ret) {
68 pr_err("Loading purgatory failed.\n");
69 goto out;
70 }
71
72 kexec_dprintk("Loaded purgatory at 0x%lx\n", pbuf.mem);
73
74 /* Load additional segments needed for panic kernel */
75 if (IS_ENABLED(CONFIG_CRASH_DUMP) && image->type == KEXEC_TYPE_CRASH) {
76 ret = load_crashdump_segments_ppc64(image, &kbuf);
77 if (ret) {
78 pr_err("Failed to load kdump kernel segments\n");
79 goto out;
80 }
81
> 82 ret = crash_load_dm_crypt_keys(image);
83 if (ret)
84 goto out;
85
86 /* Setup cmdline for kdump kernel case */
87 modified_cmdline = setup_kdump_cmdline(image, cmdline,
88 cmdline_len);
89 if (!modified_cmdline) {
90 pr_err("Setting up cmdline for kdump kernel failed\n");
91 ret = -EINVAL;
92 goto out;
93 }
94 cmdline = modified_cmdline;
95 }
96
97 if (initrd != NULL) {
98 kbuf.buffer = initrd;
99 kbuf.bufsz = kbuf.memsz = initrd_len;
100 kbuf.buf_align = PAGE_SIZE;
101 kbuf.top_down = false;
102 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
103 ret = kexec_add_buffer(&kbuf);
104 if (ret)
105 goto out;
106 initrd_load_addr = kbuf.mem;
107
108 kexec_dprintk("Loaded initrd at 0x%lx\n", initrd_load_addr);
109 }
110
111 ret = get_reserved_memory_ranges(&rmem);
112 if (ret)
113 goto out;
114
115 fdt = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr,
116 initrd_len, cmdline,
117 kexec_extra_fdt_size_ppc64(image, rmem));
118 if (!fdt) {
119 pr_err("Error setting up the new device tree.\n");
120 ret = -EINVAL;
121 goto out;
122 }
123
124 ret = setup_new_fdt_ppc64(image, fdt, rmem);
125 if (ret)
126 goto out_free_fdt;
127
128 if (!IS_ENABLED(CONFIG_CRASH_HOTPLUG) || image->type != KEXEC_TYPE_CRASH)
129 fdt_pack(fdt);
130
131 kbuf.buffer = fdt;
132 kbuf.bufsz = kbuf.memsz = fdt_totalsize(fdt);
133 kbuf.buf_align = PAGE_SIZE;
134 kbuf.top_down = true;
135 kbuf.mem = KEXEC_BUF_MEM_UNKNOWN;
136 ret = kexec_add_buffer(&kbuf);
137 if (ret)
138 goto out_free_fdt;
139
140 /* FDT will be freed in arch_kimage_file_post_load_cleanup */
141 image->arch.fdt = fdt;
142
143 fdt_load_addr = kbuf.mem;
144
145 kexec_dprintk("Loaded device tree at 0x%lx\n", fdt_load_addr);
146
147 slave_code = elf_info.buffer + elf_info.proghdrs[0].p_offset;
148 ret = setup_purgatory_ppc64(image, slave_code, fdt, kernel_load_addr,
149 fdt_load_addr);
150 if (ret)
151 pr_err("Error setting up the purgatory.\n");
152
153 goto out;
154
155 out_free_fdt:
156 kvfree(fdt);
157 out:
158 kfree(rmem);
159 kfree(modified_cmdline);
160 kexec_free_elf_info(&elf_info);
161
162 return ret ? ERR_PTR(ret) : NULL;
163 }
164
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists