In s390x_kvtop() early return may take place despite the verbose flag. Thus we can miss page-table walk information in the vtop output for kernel virtual addresses. Make sure that s390x_vtop() is always called for kernel virtual addresses when the verbose flag is passed to s390x_kvtop() by do_vtop().
Suggested-by: Heiko Carstens <[email protected]> Signed-off-by: Mikhail Zaslonko <[email protected]> --- s390x.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/s390x.c b/s390x.c index 25dca5e..77d9082 100644 --- a/s390x.c +++ b/s390x.c @@ -943,15 +943,15 @@ s390x_kvtop(struct task_context *tc, ulong vaddr, physaddr_t *paddr, int verbose if (!IS_KVADDR(vaddr)){ *paddr = 0; return FALSE; } - if (!IS_VMALLOC_ADDR(vaddr)) { - *paddr = VTOP(vaddr); - return TRUE; + if (!verbose && !IS_VMALLOC_ADDR(vaddr)) { + *paddr = VTOP(vaddr); + return TRUE; } pgd_base = (unsigned long)vt->kernel_pgd[0]; return s390x_vtop(pgd_base, vaddr, paddr, verbose); } -- 2.49.0 -- Crash-utility mailing list -- [email protected] To unsubscribe send an email to [email protected] https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki
