ELF program table virtual address is submitted to is_phys_addr() function, most likely as a leftover of replaced is_vmalloc_addr() function. Submit the physical address instead. This fixes the below error when CONFIG_RANDOMIZE_IDENTITY_BASE kernel configuration option on s390 is enabled: get_kcore_dump_loads: Can't get the correct number of PT_LOAD. Success Fixes: 2e452d75fa78 ("[PATCH v3] Enable --mem-usage for s390x.") Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx> --- elf_info.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/elf_info.c b/elf_info.c index bc24083..7f3d053 100644 --- a/elf_info.c +++ b/elf_info.c @@ -765,7 +765,7 @@ int get_kcore_dump_loads(void) for (i = 0; i < num_pt_loads; ++i) { struct pt_load_segment *p = &pt_loads[i]; if (p->phys_start == NOT_PADDR - || !is_phys_addr(p->virt_start)) + || !is_phys_addr(p->phys_start)) continue; loads++; } @@ -786,7 +786,7 @@ int get_kcore_dump_loads(void) for (i = 0, j = 0; i < num_pt_loads; ++i) { struct pt_load_segment *p = &pt_loads[i]; if (p->phys_start == NOT_PADDR - || !is_phys_addr(p->virt_start)) + || !is_phys_addr(p->phys_start)) continue; if (j >= loads) { free(pls); -- 2.43.0 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec