Hi Alexey, -----Original Message----- > v5 change: added ack by Lianbo Jiang. > > v4 changes: fixed GCC warnings reported by Kazu. Thanks for the update. > > Alexey Makhalov (3): > calc_kaslr_offset: try all CPUs > calc_kaslr_offset: 5-level paging support I tested the patchset on a qemu memory dump with 5-level paging (la57) and crash failed during starting session: crash: read error: physical address: 125a0c000 type: "p4d page" It seems that it needs something like: diff --git a/kaslr_helper.c b/kaslr_helper.c index f13b7ff0850b..b9fef825a290 100644 --- a/kaslr_helper.c +++ b/kaslr_helper.c @@ -671,6 +671,8 @@ calc_kaslr_offset(ulong *ko, ulong *pb) machdep->machspec->physical_mask_shift = __PHYSICAL_MASK_SHIFT_5LEVEL; machdep->machspec->pgdir_shift = PGDIR_SHIFT_5LEVEL; machdep->machspec->ptrs_per_pgd = PTRS_PER_PGD_5LEVEL; + if ((machdep->machspec->p4d = (char *)malloc(PAGESIZE())) == NULL) + error(FATAL, "cannot malloc p4d space."); } else { machdep->machspec->physical_mask_shift = __PHYSICAL_MASK_SHIFT_2_6; machdep->machspec->pgdir_shift = PGDIR_SHIFT; diff --git a/x86_64.c b/x86_64.c index 0acef2b04faf..939c8a9fddd4 100644 --- a/x86_64.c +++ b/x86_64.c @@ -356,9 +356,11 @@ x86_64_init(int when) machdep->machspec->physical_mask_shift = __PHYSICAL_MASK_SHIFT_5LEVEL; machdep->machspec->pgdir_shift = PGDIR_SHIFT_5LEVEL; machdep->machspec->ptrs_per_pgd = PTRS_PER_PGD_5LEVEL; - if ((machdep->machspec->p4d = (char *)malloc(PAGESIZE())) == NULL) - error(FATAL, "cannot malloc p4d space."); - machdep->machspec->last_p4d_read = 0; + if (!machdep->machspec->p4d) { + if ((machdep->machspec->p4d = (char *)malloc(PAGESIZE())) == NULL) + error(FATAL, "cannot malloc p4d space."); + machdep->machspec->last_p4d_read = 0; + } machdep->uvtop = x86_64_uvtop_level4; /* 5-level is optional per-task */ machdep->kvbase = (ulong)PAGE_OFFSET; machdep->identity_map_base = (ulong)PAGE_OFFSET; With this, tested OK. If this looks good, I can fix 2/3 when merging, or you can repost. Thanks, Kazu > kaslr: get offset by walking page tree > > defs.h | 8 +- > diskdump.c | 6 + > kaslr_helper.c | 434 ++++++++++++++++++++++++++++++++++++++++++--------------- > netdump.c | 6 + > sadump.c | 37 +---- > symbols.c | 5 +- > vmware_vmss.c | 15 +- > 7 files changed, 359 insertions(+), 152 deletions(-) > > -- > 2.11.0 -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility