aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc/mm
diff options
context:
space:
mode:
authorGravatar Andreas Larsson <andreas@gaisler.com> 2021-02-05 14:20:31 +0100
committerGravatar David S. Miller <davem@davemloft.net> 2021-02-18 16:14:31 -0800
commitbda166930c37604ffa93f2425426af6921ec575a (patch)
tree772cde30375cc6f44b18935ef51b42274ca5e5d1 /arch/sparc/mm
parentsparc: Replace test_ti_thread_flag() with test_tsk_thread_flag() (diff)
downloadlinux-bda166930c37604ffa93f2425426af6921ec575a.tar.gz
linux-bda166930c37604ffa93f2425426af6921ec575a.tar.bz2
linux-bda166930c37604ffa93f2425426af6921ec575a.zip
sparc32: Limit memblock allocation to low memory
Commit cca079ef8ac29a7c02192d2bad2ffe4c0c5ffdd0 changed sparc32 to use memblocks instead of bootmem, but also made high memory available via memblock allocation which does not work together with e.g. phys_to_virt and can lead to kernel panic. This changes back to only low memory being allocatable in the early stages, now using memblock allocation. Signed-off-by: Andreas Larsson <andreas@gaisler.com> Acked-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/mm')
-rw-r--r--arch/sparc/mm/init_32.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c
index eb2946b1df8a..6139c5700ccc 100644
--- a/arch/sparc/mm/init_32.c
+++ b/arch/sparc/mm/init_32.c
@@ -197,6 +197,9 @@ unsigned long __init bootmem_init(unsigned long *pages_avail)
size = memblock_phys_mem_size() - memblock_reserved_size();
*pages_avail = (size >> PAGE_SHIFT) - high_pages;
+ /* Only allow low memory to be allocated via memblock allocation */
+ memblock_set_current_limit(max_low_pfn << PAGE_SHIFT);
+
return max_pfn;
}