linux-parisc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] parisc: Fix kernel panic in mem_init()
@ 2020-05-28 20:29 Helge Deller
  0 siblings, 0 replies; only message in thread
From: Helge Deller @ 2020-05-28 20:29 UTC (permalink / raw)
  To: linux-parisc, James Bottomley, John David Anglin

On a HP-PARISC rp3440 machine with this memory layout:
 Memory Ranges:
  0) Start 0x0000000000000000 End 0x000000003fffffff Size   1024 MB
  1) Start 0x0000004040000000 End 0x00000040ffdfffff Size   3070 MB

the Debian kernel v5.6 triggers a kernel panic:

 Kernel panic - not syncing: Bad Address (null pointer deref?)
 Backtrace:
  [<0000000040101ab4>] start_kernel+0x6c8/0x1190
  [<0000000040108574>] start_parisc+0x158/0x1b8

 Bad Address (null pointer deref?): Code=26 (Data memory access rights trap) at addr 0000000000000000
 CPU: 0 PID: 0 Comm: swapper Not tainted 5.6.0-2-parisc64 #1 Debian 5.6.14-1
 Hardware name: 9000/800/rp3440

  IAOQ[0]: mem_init+0xb0/0x150
  IAOQ[1]: mem_init+0xb4/0x150
  RP(r2): start_kernel+0x6c8/0x1190
 Backtrace:
  [<0000000040101ab4>] start_kernel+0x6c8/0x1190
  [<0000000040108574>] start_parisc+0x158/0x1b8

During memory initialization in mem_init() the memory zomes have not been set
up yet, so avoid using virt_to_page() and similar functions.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: stable@vger.kernel.org # v5.0+


diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c
index 5224fb38d766..0904542966a2 100644
--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -562,7 +562,8 @@ void __init mem_init(void)
 			> BITS_PER_LONG);

 	high_memory = __va((max_pfn << PAGE_SHIFT));
-	set_max_mapnr(page_to_pfn(virt_to_page(high_memory - 1)) + 1);
+	set_max_mapnr(max_low_pfn);
+
 	memblock_free_all();

 #ifdef CONFIG_PA11

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-28 20:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-28 20:29 [PATCH] parisc: Fix kernel panic in mem_init() Helge Deller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).