fill_mem_map_cache() intends to read page-size-or-less size if it cannot read the whole cache size, but it seems it doesn't correctly, and shows just zero for existing data. crash> kmem -p 1000 PAGE PHYSICAL MAPPING INDEX CNT FLAGS ffffea0000000040 1000 0 0 0 0 crash> rd ffffea0000000040 ffffea0000000040: 000fffff00000400 ........ I think the size below should be cnt, and confirmed that the patch works well with a dump by makedumpfile -e option. Signed-off-by: Kazuhito Hagio <k-hagio@xxxxxxxxxxxxx> --- memory.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/memory.c b/memory.c index ac7e73679405..4584673ed0ae 100644 --- a/memory.c +++ b/memory.c @@ -6348,13 +6348,13 @@ fill_mem_map_cache(ulong pp, ulong ppend, char *page_cache) if (cnt > size) cnt = size; - if (!readmem(addr, KVADDR, bufptr, size, + if (!readmem(addr, KVADDR, bufptr, cnt, "virtual page struct cache", RETURN_ON_ERROR|QUIET)) { - BZERO(bufptr, size); - if (!(vt->flags & V_MEM_MAP) && ((addr+size) < ppend)) + BZERO(bufptr, cnt); + if (!(vt->flags & V_MEM_MAP) && ((addr+cnt) < ppend)) error(WARNING, "mem_map[] from %lx to %lx not accessible\n", - addr, addr+size); + addr, addr+cnt); } addr += cnt; -- 2.18.1 -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility