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 <agord...@linux.ibm.com>
---
 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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to