----- Original Message ----- > On Wed, Jan 18, 2012 at 09:07:29PM +0530, Rabin Vincent wrote: > > I have an ARM crash dump where the page tables have been corrupted. > > > > crash segfaults while reading it because of a stack overflow due to > > recursion > > in the page table read core: > > > > readmem: e2efcde0, KVADDR, "module unwind table", 24, (ROE), > > 8600bc0> > > addr: e2efcde0 paddr: 22efcde0 cnt: 24 > > <readmem: bf006550, KVADDR, "module unwind index table", 8, (ROE), > > 9ccab28> > > <readmem: c0004000, KVADDR, "pgd page", 16384, (FOE), 91c18e8> > > addr: c0004000 paddr: 4000 cnt: 4096 > > addr: c0005000 paddr: 5000 cnt: 4096 > > addr: c0006000 paddr: 6000 cnt: 4096 > > addr: c0007000 paddr: 7000 cnt: 4096 > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > <readmem: ed2d3000, KVADDR, "page table", 4096, (FOE), 91c58f0> > > etc till segfault > > > > The problem appears to be that the ARM code is attempting to PTOV() the > > physical address found in the page table and readmem() it as a KVADDR instead > > of just directly reading it as a PHYSADDR. > > You are right - there's no point for doing PTOV() for those addreses. To me > this change looks good, thanks. > > Acked-by: Mika Westerberg <mika.westerberg@xxxxxx> Queued for crash-6.0.3. Thanks, Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility