From: Muchun Song Date: Sat, 30 Mar 2019 13:13:46 +0000 (+0800) Subject: arm64: mm: fix incorrect assignment of 'max_mapnr' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=344bf332ceb2364a2fcd3ab4133dce5ea35c2594;p=linux.git arm64: mm: fix incorrect assignment of 'max_mapnr' Although we don't actually make use of the 'max_mapnr' global variable, we do set it to a junk value for !CONFIG_FLATMEM configurations that leave mem_map uninitialised. To avoid somebody tripping over this in future, set 'max_mapnr' using max_pfn, which is calculated directly from the memblock information. Reviewed-by: Catalin Marinas Signed-off-by: Muchun Song Signed-off-by: Will Deacon --- diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 6bc135042f5e4..c29b17b520cd7 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -535,7 +535,7 @@ void __init mem_init(void) else swiotlb_force = SWIOTLB_NO_FORCE; - set_max_mapnr(pfn_to_page(max_pfn) - mem_map); + set_max_mapnr(max_pfn - PHYS_PFN_OFFSET); #ifndef CONFIG_SPARSEMEM_VMEMMAP free_unused_memmap();