From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Thu, 13 Jul 2006 14:01:50 +0000 (+0900)
Subject: [MIPS] sparsemem: fix crash in show_mem
X-Git-Tag: firefly_0821_release~34197^2
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f4dee85e2c6a7d7adf7ea4d6d3053a41c78175b7;p=firefly-linux-kernel-4.4.55.git

[MIPS] sparsemem: fix crash in show_mem

With sparsemem, pfn should be checked by pfn_valid() before pfn_to_page().

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
---

diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c
index 792c6eb44232..c93aa6cbcaca 100644
--- a/arch/mips/mm/pgtable.c
+++ b/arch/mips/mm/pgtable.c
@@ -15,6 +15,8 @@ void show_mem(void)
 	printk("Free swap:       %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
 	pfn = max_mapnr;
 	while (pfn-- > 0) {
+		if (!pfn_valid(pfn))
+			continue;
 		page = pfn_to_page(pfn);
 		total++;
 		if (PageHighMem(page))