On Wed, May 20, 2026 at 03:35:20PM +0800, [email protected] wrote: > [email protected] wrote: > > On Mon, May 18, 2026 at 03:01:40PM +0800, [email protected] wrote: > > > From: Luo Haiyang <[email protected]> > > > > > > The kdump service reported the following error: > > > > > > No program header covering vaddr 0xffffffff819fa200 found kexec bug? > > > saving vmcore-dmesg.txt failed > > > > > > prb stores the address of printk_rb_dynamic. Since printk_rb_dynamic > > > resides in the bss segment and the PHDR (Program Header) does not include > > > the bss segment address. Therefore, add the bss segment to the Kernel > > > text. > > > > > > Signed-off-by: Luo Haiyang <[email protected]> > > > > Hi, > > > > I am wondering if to_be_excluded() also needs to be updated. > > And, if so, should that change also be made for ARM64. > > > > Review assisted by gemini-3-pro-preview > > Thanks for taking a look. > > On arm64, the kernel code contains text and rodata section, and the kernel > data > contains data and bss section. Therefore, the arm64 architecture does not have > a similar issue. > > Yes, on RISC-V, the to_be_excluded function does not properly handle the > kernel > memory range, it is still being excluded. > > cat /proc/iomem | grep Kernel > 878a02000-87a8426e7 : Kernel image > 878a02000-87944d309 : Kernel code > 879c00000-87a1fffff : Kernel rodata > 87a400000-87a7741ff : Kernel data > 87a775000-87a8426e7 : Kernel bss > > Maybe we can directly use the kernel image in iomem_range_callback, and only > the > reserved memory needs to be excluded, like this: > > static int iomem_range_callback(...) > { > .... > else if (!strncmp(str, KERNEL_IMAGE, strlen(KERNEL_IMAGE))) { > elf_info.kern_paddr_start = base; > elf_info.kern_size = length; > } > > return 0; > } > > static bool to_be_excluded(...) > { > ... > if (!strncmp(str, IOMEM_RESERVED, strlen(IOMEM_RESERVED))) > return true; > > return false; > } > > If you think this change is acceptable, I will resubmit patch v3 later.
Thanks, sounds good to me.
