[PATCH] makedumpfile: ppc64: get vmalloc start address from vmcoreinfo
Sachin Sant
sachinp at linux.ibm.com
Fri Feb 23 20:34:31 PST 2024
> On 24-Feb-2024, at 12:33 AM, Aditya Gupta <adityag at linux.ibm.com> wrote:
>
> Below error was noticed when running makedumpfile on linux-next kernel
> crash (linux-next tag next-20240121):
>
> ...
> Checking for memory holes : [100.0 %] | readpage_elf: Attempt to read non-existent page at 0xc000000000000.
> [ 17.551718] kdump.sh[404]: readmem: type_addr: 0, addr:c00c000000000000, size:16384
> [ 17.551793] kdump.sh[404]: __exclude_unnecessary_pages: Can't read the buffer of struct page.
> [ 17.551864] kdump.sh[404]: create_2nd_bitmap: Can't exclude unnecessary pages.
> [ 17.562632] kdump.sh[404]: The kernel version is not supported.
> [ 17.562708] kdump.sh[404]: The makedumpfile operation may be incomplete.
> [ 17.562773] kdump.sh[404]: makedumpfile Failed.
> [ 17.564335] kdump[406]: saving vmcore failed, _exitcode:1
>
> Above error was due to 'vmap_area_list' and 'vmlist' symbols missing
> from the vmcore.
>
> 'vmap_area_list' was removed in the linux kernel with below commit:
>
> commit 378eb24a0658dd922b29524e0ce35c6c43f56cba
> mm/vmalloc: remove vmap_area_list
>
> Subsequently the commit also introduced 'VMALLOC_START' in vmcoreinfo to
> get base address of vmalloc area, instead of depending on 'vmap_area_list'
>
> Hence if 'VMALLOC_START' symbol is there in vmcoreinfo:
> 1. Set vmalloc_start based on 'VMALLOC_START'
> 2. Don't error if vmap_area_list/vmlist are not defined
>
> Reported-by: Sachin Sant <sachinp at linux.ibm.com>
> Signed-off-by: Aditya Gupta <adityag at linux.ibm.com>
> ---
Thanks Aditya for the fix. With this fix applied makedumpfile is able to
save vmcore during kdump.
Tested-by: Sachin Sant <sachinp at linux.ibm.com>
- Sachin
More information about the kexec
mailing list