----- Original Message ----- > I didn't check XEN HYPER MODE, I don't have XEN. > If we need similar statement "if (kvaddr < MODULES_END)" > please add inside in "if (XEN_HYPER_MODE())" (1859@x86_64_kvtop) > > > > > >From ed300b74998e0923313e4fd14b9a41e305942b44 Mon Sep 17 00:00:00 2001 > From: Nakajima Akira <nakajima.akira@xxxxxxxxxxxx> > Date: Tue, 22 Dec 2015 15:46:42 +0900 > Subject: [PATCH] Fix that particular kvaddr is converted to wrong paddr > > BUG INFO > Particular kvaddr is converted to wrong paddr. > You can see this bug on RHEL6_x86_64. (at present only RHEL6) > (I checked RHEL5, RHEL7, Fedora21, Fedora23) I am out of the office until January 4th (only checking email until then), and will not be able to look into this until then. But because it is such a fundamental change that you are proposing, it might make sense to create a check/macro that is specific to the vsyscall region. Thanks, Dave > > from /proc/kallsyms > ffffffffff6008c0 D __jiffies > > /////////// wrong /////////// > crash> vtop ffffffffff6008c0 > VIRTUAL PHYSICAL > ffffffffff6008c0 7f6008c0 > > PAGE PHYSICAL MAPPING INDEX CNT FLAGS > ffffea00000623b8 1c11000 0 0 1 20000000000400 > reserved > > > crash> rd ffffffffff6008c0 > ffffffffff6008c0: 0000000000000000 ........ > > > /////////// correct /////////// > crash> vtop ffffffffff6008c0 > VIRTUAL PHYSICAL > ffffffffff6008c0 1c118c0 > > PAGE PHYSICAL MAPPING INDEX CNT FLAGS > ffffea00000623b8 1c11000 0 0 1 20000000000400 > reserved > > > crash> rd ffffffffff6008c0 > ffffffffff6008c0: 00000000ffffe43a :....... > > Reported-by: Nakajima Akira <nakajima.akira@xxxxxxxxxxxx> > Signed-off-by: Nakajima Akira <nakajima.akira@xxxxxxxxxxxx> > > --- > x86_64.c | 28 +++++++++++++++------------- > 1 files changed, 15 insertions(+), 13 deletions(-) > > diff --git a/x86_64.c b/x86_64.c > index ff6fdd5..dab4d43 100644 > --- a/x86_64.c > +++ b/x86_64.c > @@ -1872,19 +1872,21 @@ x86_64_kvtop(struct task_context *tc, ulong kvaddr, > physaddr_t *paddr, int verbo > fprintf(fp, "PAGE DIRECTORY: %lx\n", *pml4); > } > } else { > - if (!vt->vmalloc_start) { > - *paddr = x86_64_VTOP(kvaddr); > - return TRUE; > - } > - > - if (!IS_VMALLOC_ADDR(kvaddr)) { > - *paddr = x86_64_VTOP(kvaddr); > - if (!verbose) > - return TRUE; > - } > - > - if (XEN() && (kt->xen_flags & WRITABLE_PAGE_TABLES)) > - return (x86_64_kvtop_xen_wpt(tc, kvaddr, paddr, verbose)); > + if (kvaddr < MODULES_END) { > + if (!vt->vmalloc_start) { > + *paddr = x86_64_VTOP(kvaddr); > + return TRUE; > + } > + > + if (!IS_VMALLOC_ADDR(kvaddr)) { > + *paddr = x86_64_VTOP(kvaddr); > + if (!verbose) > + return TRUE; > + } > + > + if (XEN() && (kt->xen_flags & WRITABLE_PAGE_TABLES)) > + return (x86_64_kvtop_xen_wpt(tc, kvaddr, paddr, verbose)); > + } > > /* > * pgd = pgd_offset_k(addr); > -- > 1.7.1 > > > -- > Crash-utility mailing list > Crash-utility@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/crash-utility -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility