[Crash-utility] [PATCH] ppc64: do page traversal if vmemmap_list not populated

Sachin Sant sachinp at linux.ibm.com
Wed Sep 13 13:04:10 UTC 2023



> On 11-Sep-2023, at 3:00 PM, Aditya Gupta <adityag at linux.ibm.com> wrote:
> 
> Currently 'crash-tool' fails on vmcore collected on upstream kernel on
> PowerPC64 with the error:
> 
>    crash: invalid kernel virtual address: 0  type: "first list entry
> 
> Presently the address translation for vmemmap addresses is done using
> the vmemmap_list. But with the below commit in Linux, vmemmap_list can
> be empty, in case of Radix MMU on PowerPC64
> 
>    368a0590d954: (powerpc/book3s64/vmemmap: switch radix to use a
>    different vmemmap handling function)
> 
> In case vmemmap_list is empty, then it's head is NULL, which crash tries
> to access and fails due to accessing NULL.
> 
> Instead of depending on 'vmemmap_list' for address translation for
> vmemmap addresses, do a kernel pagetable walk to get the physical
> address associated with given virtual address
> 
> Reviewed-by: Hari Bathini <hbathini at linux.ibm.com>
> Signed-off-by: Aditya Gupta <adityag at linux.ibm.com>

Thanks for the patch.

With this patch applied (along with makedumpfile & kernel changes) I am able to
read a vmcore captured against a kernel which contains commit 8dc9a0ad0c3e

Tested-by: Sachin Sant <sachinp at linux.ibm.com>

- Sachin



More information about the Crash-utility mailing list