ARM64: kernel: dump kernel addresses larger than VA_START
authorHuibin Hong <huibin.hong@rock-chips.com>
Wed, 29 Jun 2016 11:58:26 +0000 (19:58 +0800)
committerGerrit Code Review <gerrit@rock-chips.com>
Thu, 30 Jun 2016 06:14:26 +0000 (14:14 +0800)
The arm64 virtual addresses of kernel are like:
VA_START < MODULES_VADDR < KIMAGE_VADDR < PAGE_OFFSET.
PAGE_OFFSET is the virtual address of the start of the linear map.
And the vmalloc, kernel code and so on are between VA_START and
PAGE_OFFSET, so it is necessary to expand dump addresses to VA_START,
instead of PAGE_OFFSET.

Change-Id: I810ed216862de4c6e68b92d483de4aa68da532b8
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
arch/arm64/kernel/process.c

index 6f3fb46170bfdc9a22230e60776a92b629b3a5f2..8e0b77810dcc74ca8456fcfa4b3763211a05ed8c 100644 (file)
@@ -178,7 +178,7 @@ static void show_data(unsigned long addr, int nbytes, const char *name)
         * don't attempt to dump non-kernel addresses or
         * values that are probably just small negative numbers
         */
-       if (addr < PAGE_OFFSET || addr > -256UL)
+       if (addr < VA_START || addr > -256UL)
                return;
 
        printk("\n%s: %#lx:\n", name, addr);