memblock: align freed memory map on pageblock boundaries with SPARSEMEM
authorMike Rapoport <rppt@linux.ibm.com>
Mon, 13 Dec 2021 09:41:32 +0000 (17:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Dec 2021 09:14:42 +0000 (10:14 +0100)
commit74551f13c62fed411ea47457a31bbfc160e5d3fb
tree3614ce3d672efc2c51e2b2328371c7d170c25b04
parentb4b54c7ba149ffa2dcb11b2a84ebf20189ff7f89
memblock: align freed memory map on pageblock boundaries with SPARSEMEM

[ Upstream commit f921f53e089a12a192808ac4319f28727b35dc0f ]

When CONFIG_SPARSEMEM=y the ranges of the memory map that are freed are not
aligned to the pageblock boundaries which breaks assumptions about
homogeneity of the memory map throughout core mm code.

Make sure that the freed memory map is always aligned on pageblock
boundaries regardless of the memory model selection.

Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/lkml/20210630071211.21011-1-rppt@kernel.org/
[backport upstream modification in mm/memblock.c to arch/arm/mm/init.c]
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mm/init.c