On Sat, May 30, 2020 at 11:34:02AM +0200, Helge Deller wrote: > Dear stable kernel maintainers, > can you please apply this patch to all 3.x and 4.x stable kernels? > Based on upstream commit bf71bc16e02162388808949b179d59d0b571b965 > which doesn't apply out of the box on older kernels. > ----------- > > The Debian kernel v5.6 triggers this kernel panic: > > Kernel panic - not syncing: Bad Address (null pointer deref?) > 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 > 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 > > 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 > > Fix the crash by avoiding virt_to_page() and similar functions in > mem_init() until the memory zones have been fully set up. > > Signed-off-by: Helge Deller <deller@xxxxxx> > > diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c > index aae9b0d71c1e..10a52664e29f 100644 > --- a/arch/parisc/mm/init.c > +++ b/arch/parisc/mm/init.c > @@ -607,7 +607,7 @@ 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); > free_all_bootmem(); > > #ifdef CONFIG_PA11 Now queued up, thanks! greg k-h