[Crash-utility] [PATCH] crash: ARM: fix bug on paddr_to_pfn converting

Liu Hua sdu.liu at huawei.com
Wed Apr 30 10:12:51 UTC 2014


Hi Dave,

When parsing vmcore generated by ARM linux, Crash utility does
"phys to pfn" converting using this:

" (paddr - machdep->machspec->phys_base) >> dd->block_shift;"

First it minuses offset of the memory, and then does right shift.
But I glanced over kernel codes(2.6.34 - 3.15). I found nothing
to support the rationality of this type converting for ARM linux.

And without this patch, the crash utility can not parse my vmcores.

Also I can not get the commit messages because this code added before
crash-7.0.4. So, What's your purpose to introduce this? Is this patch
necessary for crash utility ? Or should I do some addtional work for
compatibility?

(BTW,makedumpfile also has this type problem.)

Thanks,
Liu Hua

Signed-off-by: Liu Hua <sdu.liu at huawei.com>
---
 diskdump.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/diskdump.c b/diskdump.c
index e230c1f..1d72364 100644
--- a/diskdump.c
+++ b/diskdump.c
@@ -914,15 +914,7 @@ page_is_cached(physaddr_t paddr)
 static ulong
 paddr_to_pfn(physaddr_t paddr)
 {
-#ifdef ARM
-	/*
-	 * In ARM, PFN 0 means first page in kernel direct-mapped view.
-	 * This is also first page in mem_map as well.
-	 */
-	return (paddr - machdep->machspec->phys_base) >> dd->block_shift;
-#else
 	return paddr >> dd->block_shift;
-#endif
 }
 
 /*
-- 
1.9.0




More information about the Crash-utility mailing list