Message ID | 20231114153253.241262-3-bhe@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | kexec_file: print out debugging message if required | expand |
Hi Baoquan, kernel test robot noticed the following build errors: [auto build test ERROR on arm64/for-next/core] [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com patch subject: [PATCH 2/7] kexec_file: print out debugging message if required config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202311160431.BXPc7NO9-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from kernel/crash_core.c:13: In file included from include/linux/kexec.h:19: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:547:31: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __raw_readb(PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:560:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le16_to_cpu((__le16 __force)__raw_readw(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:37:51: note: expanded from macro '__le16_to_cpu' #define __le16_to_cpu(x) ((__force __u16)(__le16)(x)) ^ In file included from kernel/crash_core.c:13: In file included from include/linux/kexec.h:19: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:573:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] val = __le32_to_cpu((__le32 __force)__raw_readl(PCI_IOBASE + addr)); ~~~~~~~~~~ ^ include/uapi/linux/byteorder/little_endian.h:35:51: note: expanded from macro '__le32_to_cpu' #define __le32_to_cpu(x) ((__force __u32)(__le32)(x)) ^ In file included from kernel/crash_core.c:13: In file included from include/linux/kexec.h:19: In file included from arch/hexagon/include/asm/io.h:337: include/asm-generic/io.h:584:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writeb(value, PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:594:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ include/asm-generic/io.h:604:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic] __raw_writel((u32 __force)cpu_to_le32(value), PCI_IOBASE + addr); ~~~~~~~~~~ ^ >> kernel/crash_core.c:412:3: error: call to undeclared function 'kexec_dprintk'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " ^ 6 warnings and 1 error generated. vim +/kexec_dprintk +412 kernel/crash_core.c 323 324 int crash_prepare_elf64_headers(struct crash_mem *mem, int need_kernel_map, 325 void **addr, unsigned long *sz) 326 { 327 Elf64_Ehdr *ehdr; 328 Elf64_Phdr *phdr; 329 unsigned long nr_cpus = num_possible_cpus(), nr_phdr, elf_sz; 330 unsigned char *buf; 331 unsigned int cpu, i; 332 unsigned long long notes_addr; 333 unsigned long mstart, mend; 334 335 /* extra phdr for vmcoreinfo ELF note */ 336 nr_phdr = nr_cpus + 1; 337 nr_phdr += mem->nr_ranges; 338 339 /* 340 * kexec-tools creates an extra PT_LOAD phdr for kernel text mapping 341 * area (for example, ffffffff80000000 - ffffffffa0000000 on x86_64). 342 * I think this is required by tools like gdb. So same physical 343 * memory will be mapped in two ELF headers. One will contain kernel 344 * text virtual addresses and other will have __va(physical) addresses. 345 */ 346 347 nr_phdr++; 348 elf_sz = sizeof(Elf64_Ehdr) + nr_phdr * sizeof(Elf64_Phdr); 349 elf_sz = ALIGN(elf_sz, ELF_CORE_HEADER_ALIGN); 350 351 buf = vzalloc(elf_sz); 352 if (!buf) 353 return -ENOMEM; 354 355 ehdr = (Elf64_Ehdr *)buf; 356 phdr = (Elf64_Phdr *)(ehdr + 1); 357 memcpy(ehdr->e_ident, ELFMAG, SELFMAG); 358 ehdr->e_ident[EI_CLASS] = ELFCLASS64; 359 ehdr->e_ident[EI_DATA] = ELFDATA2LSB; 360 ehdr->e_ident[EI_VERSION] = EV_CURRENT; 361 ehdr->e_ident[EI_OSABI] = ELF_OSABI; 362 memset(ehdr->e_ident + EI_PAD, 0, EI_NIDENT - EI_PAD); 363 ehdr->e_type = ET_CORE; 364 ehdr->e_machine = ELF_ARCH; 365 ehdr->e_version = EV_CURRENT; 366 ehdr->e_phoff = sizeof(Elf64_Ehdr); 367 ehdr->e_ehsize = sizeof(Elf64_Ehdr); 368 ehdr->e_phentsize = sizeof(Elf64_Phdr); 369 370 /* Prepare one phdr of type PT_NOTE for each possible CPU */ 371 for_each_possible_cpu(cpu) { 372 phdr->p_type = PT_NOTE; 373 notes_addr = per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpu)); 374 phdr->p_offset = phdr->p_paddr = notes_addr; 375 phdr->p_filesz = phdr->p_memsz = sizeof(note_buf_t); 376 (ehdr->e_phnum)++; 377 phdr++; 378 } 379 380 /* Prepare one PT_NOTE header for vmcoreinfo */ 381 phdr->p_type = PT_NOTE; 382 phdr->p_offset = phdr->p_paddr = paddr_vmcoreinfo_note(); 383 phdr->p_filesz = phdr->p_memsz = VMCOREINFO_NOTE_SIZE; 384 (ehdr->e_phnum)++; 385 phdr++; 386 387 /* Prepare PT_LOAD type program header for kernel text region */ 388 if (need_kernel_map) { 389 phdr->p_type = PT_LOAD; 390 phdr->p_flags = PF_R|PF_W|PF_X; 391 phdr->p_vaddr = (unsigned long) _text; 392 phdr->p_filesz = phdr->p_memsz = _end - _text; 393 phdr->p_offset = phdr->p_paddr = __pa_symbol(_text); 394 ehdr->e_phnum++; 395 phdr++; 396 } 397 398 /* Go through all the ranges in mem->ranges[] and prepare phdr */ 399 for (i = 0; i < mem->nr_ranges; i++) { 400 mstart = mem->ranges[i].start; 401 mend = mem->ranges[i].end; 402 403 phdr->p_type = PT_LOAD; 404 phdr->p_flags = PF_R|PF_W|PF_X; 405 phdr->p_offset = mstart; 406 407 phdr->p_paddr = mstart; 408 phdr->p_vaddr = (unsigned long) __va(mstart); 409 phdr->p_filesz = phdr->p_memsz = mend - mstart + 1; 410 phdr->p_align = 0; 411 ehdr->e_phnum++; > 412 kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " 413 "sz=0x%llx e_phnum=%d p_offset=0x%llx\n", 414 phdr, phdr->p_vaddr, phdr->p_paddr, phdr->p_filesz, 415 ehdr->e_phnum, phdr->p_offset); 416 phdr++; 417 } 418 419 *addr = buf; 420 *sz = elf_sz; 421 return 0; 422 } 423
Hi Baoquan, kernel test robot noticed the following build errors: [auto build test ERROR on arm64/for-next/core] [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com patch subject: [PATCH 2/7] kexec_file: print out debugging message if required config: x86_64-randconfig-002-20231115 (https://download.01.org/0day-ci/archive/20231116/202311160502.jnu7b8KF-lkp@intel.com/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160502.jnu7b8KF-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@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202311160502.jnu7b8KF-lkp@intel.com/ All errors (new ones prefixed by >>): kernel/crash_core.c: In function 'crash_prepare_elf64_headers': >> kernel/crash_core.c:412:17: error: implicit declaration of function 'kexec_dprintk'; did you mean '_dev_printk'? [-Werror=implicit-function-declaration] 412 | kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " | ^~~~~~~~~~~~~ | _dev_printk cc1: some warnings being treated as errors vim +412 kernel/crash_core.c 323 324 int crash_prepare_elf64_headers(struct crash_mem *mem, int need_kernel_map, 325 void **addr, unsigned long *sz) 326 { 327 Elf64_Ehdr *ehdr; 328 Elf64_Phdr *phdr; 329 unsigned long nr_cpus = num_possible_cpus(), nr_phdr, elf_sz; 330 unsigned char *buf; 331 unsigned int cpu, i; 332 unsigned long long notes_addr; 333 unsigned long mstart, mend; 334 335 /* extra phdr for vmcoreinfo ELF note */ 336 nr_phdr = nr_cpus + 1; 337 nr_phdr += mem->nr_ranges; 338 339 /* 340 * kexec-tools creates an extra PT_LOAD phdr for kernel text mapping 341 * area (for example, ffffffff80000000 - ffffffffa0000000 on x86_64). 342 * I think this is required by tools like gdb. So same physical 343 * memory will be mapped in two ELF headers. One will contain kernel 344 * text virtual addresses and other will have __va(physical) addresses. 345 */ 346 347 nr_phdr++; 348 elf_sz = sizeof(Elf64_Ehdr) + nr_phdr * sizeof(Elf64_Phdr); 349 elf_sz = ALIGN(elf_sz, ELF_CORE_HEADER_ALIGN); 350 351 buf = vzalloc(elf_sz); 352 if (!buf) 353 return -ENOMEM; 354 355 ehdr = (Elf64_Ehdr *)buf; 356 phdr = (Elf64_Phdr *)(ehdr + 1); 357 memcpy(ehdr->e_ident, ELFMAG, SELFMAG); 358 ehdr->e_ident[EI_CLASS] = ELFCLASS64; 359 ehdr->e_ident[EI_DATA] = ELFDATA2LSB; 360 ehdr->e_ident[EI_VERSION] = EV_CURRENT; 361 ehdr->e_ident[EI_OSABI] = ELF_OSABI; 362 memset(ehdr->e_ident + EI_PAD, 0, EI_NIDENT - EI_PAD); 363 ehdr->e_type = ET_CORE; 364 ehdr->e_machine = ELF_ARCH; 365 ehdr->e_version = EV_CURRENT; 366 ehdr->e_phoff = sizeof(Elf64_Ehdr); 367 ehdr->e_ehsize = sizeof(Elf64_Ehdr); 368 ehdr->e_phentsize = sizeof(Elf64_Phdr); 369 370 /* Prepare one phdr of type PT_NOTE for each possible CPU */ 371 for_each_possible_cpu(cpu) { 372 phdr->p_type = PT_NOTE; 373 notes_addr = per_cpu_ptr_to_phys(per_cpu_ptr(crash_notes, cpu)); 374 phdr->p_offset = phdr->p_paddr = notes_addr; 375 phdr->p_filesz = phdr->p_memsz = sizeof(note_buf_t); 376 (ehdr->e_phnum)++; 377 phdr++; 378 } 379 380 /* Prepare one PT_NOTE header for vmcoreinfo */ 381 phdr->p_type = PT_NOTE; 382 phdr->p_offset = phdr->p_paddr = paddr_vmcoreinfo_note(); 383 phdr->p_filesz = phdr->p_memsz = VMCOREINFO_NOTE_SIZE; 384 (ehdr->e_phnum)++; 385 phdr++; 386 387 /* Prepare PT_LOAD type program header for kernel text region */ 388 if (need_kernel_map) { 389 phdr->p_type = PT_LOAD; 390 phdr->p_flags = PF_R|PF_W|PF_X; 391 phdr->p_vaddr = (unsigned long) _text; 392 phdr->p_filesz = phdr->p_memsz = _end - _text; 393 phdr->p_offset = phdr->p_paddr = __pa_symbol(_text); 394 ehdr->e_phnum++; 395 phdr++; 396 } 397 398 /* Go through all the ranges in mem->ranges[] and prepare phdr */ 399 for (i = 0; i < mem->nr_ranges; i++) { 400 mstart = mem->ranges[i].start; 401 mend = mem->ranges[i].end; 402 403 phdr->p_type = PT_LOAD; 404 phdr->p_flags = PF_R|PF_W|PF_X; 405 phdr->p_offset = mstart; 406 407 phdr->p_paddr = mstart; 408 phdr->p_vaddr = (unsigned long) __va(mstart); 409 phdr->p_filesz = phdr->p_memsz = mend - mstart + 1; 410 phdr->p_align = 0; 411 ehdr->e_phnum++; > 412 kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " 413 "sz=0x%llx e_phnum=%d p_offset=0x%llx\n", 414 phdr, phdr->p_vaddr, phdr->p_paddr, phdr->p_filesz, 415 ehdr->e_phnum, phdr->p_offset); 416 phdr++; 417 } 418 419 *addr = buf; 420 *sz = elf_sz; 421 return 0; 422 } 423
On 11/16/23 at 05:57am, kernel test robot wrote: > Hi Baoquan, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on arm64/for-next/core] > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > [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#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > config: x86_64-randconfig-002-20231115 (https://download.01.org/0day-ci/archive/20231116/202311160502.jnu7b8KF-lkp@intel.com/config) > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160502.jnu7b8KF-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@intel.com> > | Closes: https://lore.kernel.org/oe-kbuild-all/202311160502.jnu7b8KF-lkp@intel.com/ > > All errors (new ones prefixed by >>): > > kernel/crash_core.c: In function 'crash_prepare_elf64_headers': > >> kernel/crash_core.c:412:17: error: implicit declaration of function 'kexec_dprintk'; did you mean '_dev_printk'? [-Werror=implicit-function-declaration] > 412 | kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " > | ^~~~~~~~~~~~~ > | _dev_printk > cc1: some warnings being treated as errors > > > vim +412 kernel/crash_core.c Thanks for reporting this. Below code can fix it. crash_prepare_elf64_headers() could be used by kexec_load interface for cpu/memory hotplug updating elfcoreheader, or by kexec_file_load interface for elfcoreheader composing or updating. Only print out the debugging message about ELF core header when kexec_file_load interface is taken. diff --git a/kernel/crash_core.c b/kernel/crash_core.c index 41001ffbaa99..1485fd7bb67f 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -551,10 +551,12 @@ int crash_prepare_elf64_headers(struct crash_mem *mem, int need_kernel_map, phdr->p_filesz = phdr->p_memsz = mend - mstart + 1; phdr->p_align = 0; ehdr->e_phnum++; +#ifdef CONFIG_KEXEC_FILE kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " "sz=0x%llx e_phnum=%d p_offset=0x%llx\n", phdr, phdr->p_vaddr, phdr->p_paddr, phdr->p_filesz, ehdr->e_phnum, phdr->p_offset); +#endif phdr++; }
Hi, On 11/16/23 at 05:04am, kernel test robot wrote: > Hi Baoquan, > > kernel test robot noticed the following build errors: > > [auto build test ERROR on arm64/for-next/core] > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > [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#_base_tree_information] > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > Thanks for reporting. I met below failure when following the steps of provided reproducer. Could anyone help check what's wrong with that? [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig Compiler will be installed in /root/0day lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ get1: /pub/tools/llvm/files/: files/: Is a directory Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ clang crosstool install failed Install clang compiler failed setup_crosstool failed Thanks Baoquan
Hi Baoquan, On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > Hi, > > On 11/16/23 at 05:04am, kernel test robot wrote: > > Hi Baoquan, > > > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on arm64/for-next/core] > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > [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#_base_tree_information] > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > Thanks for reporting. > > I met below failure when following the steps of provided reproducer. > Could anyone help check what's wrong with that? Sorry this seems to be a bug in the reproducer. Could you please change the compiler parameter to "COMPILER=clang-16" and rerun the command? We will fix the issue ASAP. Thanks, Yujie > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > Compiler will be installed in /root/0day > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > get1: /pub/tools/llvm/files/: files/: Is a directory > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > clang crosstool install failed > Install clang compiler failed > setup_crosstool failed
On 11/17/23 at 09:37am, Liu, Yujie wrote: > Hi Baoquan, > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > Hi, > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > Hi Baoquan, > > > > > > kernel test robot noticed the following build errors: > > > > > > [auto build test ERROR on arm64/for-next/core] > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > [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#_base_tree_information] > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > Thanks for reporting. > > > > I met below failure when following the steps of provided reproducer. > > Could anyone help check what's wrong with that? > > Sorry this seems to be a bug in the reproducer. Could you please change > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > will fix the issue ASAP. Here you are. Thanks for your quick response. ------------------------------ [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig Compiler will be installed in /root/0day lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz /root/linux tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig make[1]: Entering directory '/root/linux/build_dir' GEN Makefile HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/confdata.o HOSTCC scripts/kconfig/expr.o HOSTCC scripts/kconfig/lexer.lex.o HOSTCC scripts/kconfig/menu.o HOSTCC scripts/kconfig/parser.tab.o HOSTCC scripts/kconfig/preprocess.o HOSTCC scripts/kconfig/symbol.o HOSTCC scripts/kconfig/util.o HOSTLD scripts/kconfig/conf # # configuration written to .config # make[1]: Leaving directory '/root/linux/build_dir' > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > Compiler will be installed in /root/0day > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > get1: /pub/tools/llvm/files/: files/: Is a directory > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > clang crosstool install failed > > Install clang compiler failed > > setup_crosstool failed > >
On 11/17/23 at 10:01pm, Baoquan He wrote: > On 11/17/23 at 09:37am, Liu, Yujie wrote: > > Hi Baoquan, > > > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > > Hi, > > > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > > Hi Baoquan, > > > > > > > > kernel test robot noticed the following build errors: > > > > > > > > [auto build test ERROR on arm64/for-next/core] > > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > > [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#_base_tree_information] > > > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > > > > Thanks for reporting. > > > > > > I met below failure when following the steps of provided reproducer. > > > Could anyone help check what's wrong with that? > > > > Sorry this seems to be a bug in the reproducer. Could you please change > > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > > will fix the issue ASAP. Any update for the reproducer? I would like to post v2 with the fix. I doubt it's the same issue as another report on this patch, while not quite sure. > > Here you are. Thanks for your quick response. > ------------------------------ > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > Compiler will be installed in /root/0day > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz > /root/linux > tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day > PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig > make[1]: Entering directory '/root/linux/build_dir' > GEN Makefile > HOSTCC scripts/basic/fixdep > HOSTCC scripts/kconfig/conf.o > HOSTCC scripts/kconfig/confdata.o > HOSTCC scripts/kconfig/expr.o > HOSTCC scripts/kconfig/lexer.lex.o > HOSTCC scripts/kconfig/menu.o > HOSTCC scripts/kconfig/parser.tab.o > HOSTCC scripts/kconfig/preprocess.o > HOSTCC scripts/kconfig/symbol.o > HOSTCC scripts/kconfig/util.o > HOSTLD scripts/kconfig/conf > # > # configuration written to .config > # > make[1]: Leaving directory '/root/linux/build_dir' > > > > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > Compiler will be installed in /root/0day > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > > get1: /pub/tools/llvm/files/: files/: Is a directory > > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > > clang crosstool install failed > > > Install clang compiler failed > > > setup_crosstool failed > > > > >
On Thu, Nov 23, 2023 at 09:49:20PM +0800, bhe@redhat.com wrote: > On 11/17/23 at 10:01pm, Baoquan He wrote: > > On 11/17/23 at 09:37am, Liu, Yujie wrote: > > > Hi Baoquan, > > > > > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > > > Hi, > > > > > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > > > Hi Baoquan, > > > > > > > > > > kernel test robot noticed the following build errors: > > > > > > > > > > [auto build test ERROR on arm64/for-next/core] > > > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > > > [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#_base_tree_information] > > > > > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > > > > > > > Thanks for reporting. > > > > > > > > I met below failure when following the steps of provided reproducer. > > > > Could anyone help check what's wrong with that? > > > > > > Sorry this seems to be a bug in the reproducer. Could you please change > > > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > > > will fix the issue ASAP. > > Any update for the reproducer? I would like to post v2 with the fix. I > doubt it's the same issue as another report on this patch, while not > quite sure. Shouldn't you be able to run $ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash kernel/ after the command you just ran to reproduce this now? It is essentially the same fix that they mention above but for the second invocation of make.cross. You can also not even bother with the wrapper altogether if you have the compiler installed in the default path that they provide (W=1 is not necessary to reproduce this issue): $ mkdir -p build_dir $ curl -LSso build_dir/.config https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config $ make -skj"$(nproc)" ARCH=hexagon LLVM=$HOME/0day/llvm-16.0.6-x86_64/bin/ O=build_dir olddefconfig kernel/crash_core.o ... kernel/crash_core.c:554:3: error: call to undeclared function 'kexec_dprintk'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " ^ 1 error generated. > > Here you are. Thanks for your quick response. > > ------------------------------ > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > Compiler will be installed in /root/0day > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz > > /root/linux > > tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day > > PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig > > make[1]: Entering directory '/root/linux/build_dir' > > GEN Makefile > > HOSTCC scripts/basic/fixdep > > HOSTCC scripts/kconfig/conf.o > > HOSTCC scripts/kconfig/confdata.o > > HOSTCC scripts/kconfig/expr.o > > HOSTCC scripts/kconfig/lexer.lex.o > > HOSTCC scripts/kconfig/menu.o > > HOSTCC scripts/kconfig/parser.tab.o > > HOSTCC scripts/kconfig/preprocess.o > > HOSTCC scripts/kconfig/symbol.o > > HOSTCC scripts/kconfig/util.o > > HOSTLD scripts/kconfig/conf > > # > > # configuration written to .config > > # > > make[1]: Leaving directory '/root/linux/build_dir' > > > > > > > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > > Compiler will be installed in /root/0day > > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > > > get1: /pub/tools/llvm/files/: files/: Is a directory > > > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > > > clang crosstool install failed > > > > Install clang compiler failed > > > > setup_crosstool failed > > > > > > > > > >
On Thu, Nov 23, 2023 at 09:49:20PM +0800, bhe@redhat.com wrote: > On 11/17/23 at 10:01pm, Baoquan He wrote: > > On 11/17/23 at 09:37am, Liu, Yujie wrote: > > > Hi Baoquan, > > > > > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > > > Hi, > > > > > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > > > Hi Baoquan, > > > > > > > > > > kernel test robot noticed the following build errors: > > > > > > > > > > [auto build test ERROR on arm64/for-next/core] > > > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > > > [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#_base_tree_information] > > > > > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > > > > > > > Thanks for reporting. > > > > > > > > I met below failure when following the steps of provided reproducer. > > > > Could anyone help check what's wrong with that? > > > > > > Sorry this seems to be a bug in the reproducer. Could you please change > > > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > > > will fix the issue ASAP. > > Any update for the reproducer? I would like to post v2 with the fix. I > doubt it's the same issue as another report on this patch, while not > quite sure. Setting "COMPILER=clang-16" is exactly the correct fix and should reproduce the issue in this report. We've fixed the steps of reproducer but this will only take effect in future reports. Thanks, Yujie > > > > Here you are. Thanks for your quick response. > > ------------------------------ > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > Compiler will be installed in /root/0day > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz > > /root/linux > > tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day > > PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig > > make[1]: Entering directory '/root/linux/build_dir' > > GEN Makefile > > HOSTCC scripts/basic/fixdep > > HOSTCC scripts/kconfig/conf.o > > HOSTCC scripts/kconfig/confdata.o > > HOSTCC scripts/kconfig/expr.o > > HOSTCC scripts/kconfig/lexer.lex.o > > HOSTCC scripts/kconfig/menu.o > > HOSTCC scripts/kconfig/parser.tab.o > > HOSTCC scripts/kconfig/preprocess.o > > HOSTCC scripts/kconfig/symbol.o > > HOSTCC scripts/kconfig/util.o > > HOSTLD scripts/kconfig/conf > > # > > # configuration written to .config > > # > > make[1]: Leaving directory '/root/linux/build_dir' > > > > > > > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > > Compiler will be installed in /root/0day > > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > > > get1: /pub/tools/llvm/files/: files/: Is a directory > > > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > > > clang crosstool install failed > > > > Install clang compiler failed > > > > setup_crosstool failed > > > > > > > > >
On 11/23/23 at 08:41am, Nathan Chancellor wrote: > On Thu, Nov 23, 2023 at 09:49:20PM +0800, bhe@redhat.com wrote: > > On 11/17/23 at 10:01pm, Baoquan He wrote: > > > On 11/17/23 at 09:37am, Liu, Yujie wrote: > > > > Hi Baoquan, > > > > > > > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > > > > Hi, > > > > > > > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > > > > Hi Baoquan, > > > > > > > > > > > > kernel test robot noticed the following build errors: > > > > > > > > > > > > [auto build test ERROR on arm64/for-next/core] > > > > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > > > > [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#_base_tree_information] > > > > > > > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > > > > > > > > > > Thanks for reporting. > > > > > > > > > > I met below failure when following the steps of provided reproducer. > > > > > Could anyone help check what's wrong with that? > > > > > > > > Sorry this seems to be a bug in the reproducer. Could you please change > > > > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > > > > will fix the issue ASAP. > > > > Any update for the reproducer? I would like to post v2 with the fix. I > > doubt it's the same issue as another report on this patch, while not > > quite sure. > > Shouldn't you be able to run > > $ COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash kernel/ > Yes, I can reproduce it, it's the same issue as the one reported on arm64. I thought Yujie is using the clang-16 to debug. Thanks for help. > after the command you just ran to reproduce this now? It is > essentially the same fix that they mention above but for the second > invocation of make.cross. > > You can also not even bother with the wrapper altogether if you have the > compiler installed in the default path that they provide (W=1 is not > necessary to reproduce this issue): > > $ mkdir -p build_dir > $ curl -LSso build_dir/.config https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config > $ make -skj"$(nproc)" ARCH=hexagon LLVM=$HOME/0day/llvm-16.0.6-x86_64/bin/ O=build_dir olddefconfig kernel/crash_core.o > ... > kernel/crash_core.c:554:3: error: call to undeclared function 'kexec_dprintk'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] > kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " > ^ > 1 error generated. > > > > Here you are. Thanks for your quick response. > > > ------------------------------ > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > Compiler will be installed in /root/0day > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz > > > /root/linux > > > tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day > > > PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > > > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig > > > make[1]: Entering directory '/root/linux/build_dir' > > > GEN Makefile > > > HOSTCC scripts/basic/fixdep > > > HOSTCC scripts/kconfig/conf.o > > > HOSTCC scripts/kconfig/confdata.o > > > HOSTCC scripts/kconfig/expr.o > > > HOSTCC scripts/kconfig/lexer.lex.o > > > HOSTCC scripts/kconfig/menu.o > > > HOSTCC scripts/kconfig/parser.tab.o > > > HOSTCC scripts/kconfig/preprocess.o > > > HOSTCC scripts/kconfig/symbol.o > > > HOSTCC scripts/kconfig/util.o > > > HOSTLD scripts/kconfig/conf > > > # > > > # configuration written to .config > > > # > > > make[1]: Leaving directory '/root/linux/build_dir' > > > > > > > > > > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > > > Compiler will be installed in /root/0day > > > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > > > > get1: /pub/tools/llvm/files/: files/: Is a directory > > > > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > > > > clang crosstool install failed > > > > > Install clang compiler failed > > > > > setup_crosstool failed > > > > > > > > > > > > > > > >
On 11/24/23 at 09:18am, Yujie Liu wrote: > On Thu, Nov 23, 2023 at 09:49:20PM +0800, bhe@redhat.com wrote: > > On 11/17/23 at 10:01pm, Baoquan He wrote: > > > On 11/17/23 at 09:37am, Liu, Yujie wrote: > > > > Hi Baoquan, > > > > > > > > On Fri, 2023-11-17 at 17:14 +0800, Baoquan He wrote: > > > > > Hi, > > > > > > > > > > On 11/16/23 at 05:04am, kernel test robot wrote: > > > > > > Hi Baoquan, > > > > > > > > > > > > kernel test robot noticed the following build errors: > > > > > > > > > > > > [auto build test ERROR on arm64/for-next/core] > > > > > > [also build test ERROR on tip/x86/core powerpc/next powerpc/fixes linus/master v6.7-rc1 next-20231115] > > > > > > [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#_base_tree_information] > > > > > > > > > > > > url: https://github.com/intel-lab-lkp/linux/commits/Baoquan-He/kexec_file-add-kexec_file-flag-to-control-debug-printing/20231114-234003 > > > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core > > > > > > patch link: https://lore.kernel.org/r/20231114153253.241262-3-bhe%40redhat.com > > > > > > patch subject: [PATCH 2/7] kexec_file: print out debugging message if required > > > > > > config: hexagon-comet_defconfig (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/config) > > > > > > compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) > > > > > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231116/202311160431.BXPc7NO9-lkp@intel.com/reproduce) > > > > > > > > > > > > > > > > Thanks for reporting. > > > > > > > > > > I met below failure when following the steps of provided reproducer. > > > > > Could anyone help check what's wrong with that? > > > > > > > > Sorry this seems to be a bug in the reproducer. Could you please change > > > > the compiler parameter to "COMPILER=clang-16" and rerun the command? We > > > > will fix the issue ASAP. > > > > Any update for the reproducer? I would like to post v2 with the fix. I > > doubt it's the same issue as another report on this patch, while not > > quite sure. > > Setting "COMPILER=clang-16" is exactly the correct fix and should > reproduce the issue in this report. We've fixed the steps of reproducer > but this will only take effect in future reports. Thanks, Yujie. I thought you were asking me to use "COMPILER=clang-16" to get information to debug. I have done the testing according to Nathan's suggestion and can confirm it's the same issue as the one on arm64. Will post v2. > > > > > > > Here you are. Thanks for your quick response. > > > ------------------------------ > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-16 ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > Compiler will be installed in /root/0day > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/./llvm-16.0.6-x86_64.tar.xz > > > /root/linux > > > tar Jxf /root/0day/./llvm-16.0.6-x86_64.tar.xz -C /root/0day > > > PATH=/root/0day/llvm-16.0.6-x86_64/bin:/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin > > > make --keep-going LLVM=1 CROSS_COMPILE=hexagon-linux- LLVM_IAS=1 --jobs=128 KCFLAGS=-Warray-bounds -Wundef -fstrict-flex-arrays=3 -funsigned-char -Wenum-conversion W=1 O=build_dir ARCH=hexagon olddefconfig > > > make[1]: Entering directory '/root/linux/build_dir' > > > GEN Makefile > > > HOSTCC scripts/basic/fixdep > > > HOSTCC scripts/kconfig/conf.o > > > HOSTCC scripts/kconfig/confdata.o > > > HOSTCC scripts/kconfig/expr.o > > > HOSTCC scripts/kconfig/lexer.lex.o > > > HOSTCC scripts/kconfig/menu.o > > > HOSTCC scripts/kconfig/parser.tab.o > > > HOSTCC scripts/kconfig/preprocess.o > > > HOSTCC scripts/kconfig/symbol.o > > > HOSTCC scripts/kconfig/util.o > > > HOSTLD scripts/kconfig/conf > > > # > > > # configuration written to .config > > > # > > > make[1]: Leaving directory '/root/linux/build_dir' > > > > > > > > > > > > [root@~ linux]# COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=hexagon olddefconfig > > > > > Compiler will be installed in /root/0day > > > > > lftpget -c https://cdn.kernel.org/pub/tools/llvm/files/ > > > > > get1: /pub/tools/llvm/files/: files/: Is a directory > > > > > Failed to download https://cdn.kernel.org/pub/tools/llvm/files/ > > > > > clang crosstool install failed > > > > > Install clang compiler failed > > > > > setup_crosstool failed > > > > > > > > > > > > > >
diff --git a/kernel/crash_core.c b/kernel/crash_core.c index efe87d501c8c..41001ffbaa99 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c @@ -551,7 +551,8 @@ int crash_prepare_elf64_headers(struct crash_mem *mem, int need_kernel_map, phdr->p_filesz = phdr->p_memsz = mend - mstart + 1; phdr->p_align = 0; ehdr->e_phnum++; - pr_debug("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, sz=0x%llx e_phnum=%d p_offset=0x%llx\n", + kexec_dprintk("Crash PT_LOAD ELF header. phdr=%p vaddr=0x%llx, paddr=0x%llx, " + "sz=0x%llx e_phnum=%d p_offset=0x%llx\n", phdr, phdr->p_vaddr, phdr->p_paddr, phdr->p_filesz, ehdr->e_phnum, phdr->p_offset); phdr++; diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 4c35500ae40a..7ae1b0901aa4 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -206,6 +206,8 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, if (ret < 0) return ret; image->kernel_buf_len = ret; + kexec_dprintk("kernel: %p kernel_size: %#lx\n", + image->kernel_buf, image->kernel_buf_len); /* Call arch image probe handlers */ ret = arch_kexec_kernel_image_probe(image, image->kernel_buf, @@ -389,11 +391,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, if (ret) goto out; + kexec_dprintk("nr_segments = %lu\n", image->nr_segments); for (i = 0; i < image->nr_segments; i++) { struct kexec_segment *ksegment; ksegment = &image->segment[i]; - pr_debug("Loading segment %d: buf=0x%p bufsz=0x%zx mem=0x%lx memsz=0x%zx\n", + kexec_dprintk("segment[%d]: buf=0x%p bufsz=0x%zx mem=0x%lx memsz=0x%zx\n", i, ksegment->buf, ksegment->bufsz, ksegment->mem, ksegment->memsz); @@ -408,6 +411,8 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd, if (ret) goto out; + kexec_dprintk("kexec_file_load: type:%u, start:0x%lx head:0x%lx flags:0x%lx\n", + image->type, image->start, image->head, flags); /* * Free up any temporary buffers allocated which are not needed * after image has been loaded diff --git a/security/integrity/ima/ima_kexec.c b/security/integrity/ima/ima_kexec.c index ad133fe120db..e692624bcab3 100644 --- a/security/integrity/ima/ima_kexec.c +++ b/security/integrity/ima/ima_kexec.c @@ -129,7 +129,7 @@ void ima_add_kexec_buffer(struct kimage *image) image->ima_buffer_size = kexec_segment_size; image->ima_buffer = kexec_buffer; - pr_debug("kexec measurement buffer for the loaded kernel at 0x%lx.\n", + kexec_dprintk("kexec measurement buffer for the loaded kernel at 0x%lx.\n", kbuf.mem); } #endif /* IMA_KEXEC */
Replace pr_debug() with the newly added kexec_dprintk() in kexec_file loading related codes. And also print out type/start/head of kimage and flags to help debug. Signed-off-by: Baoquan He <bhe@redhat.com> --- kernel/crash_core.c | 3 ++- kernel/kexec_file.c | 7 ++++++- security/integrity/ima/ima_kexec.c | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-)