[PATCH 5.10 0/5] memblock, arm: fixes for freeing of the memory map
Mark-PK Tsai
mark-pk.tsai at mediatek.com
Mon Dec 13 01:41:30 PST 2021
When linux memory is not aligned with page block size and have hole in zone,
the 5.4-lts arm kernel might crash in move_freepages() as Kefen Wang reported in [1].
Backport the upstream fix commits by Mike Rapoport [2] to 5.4 can fix this issue.
And free_unused_memmap() of arm and arm64 are moved to generic mm/memblock in
the below upstream commit, so I applied the first two patches to free_unused_memmap()
in arch/arm/mm/init.c.
(4f5b0c178996 arm, arm64: move free_unused_memmap() to generic mm)
[1] https://lore.kernel.org/lkml/2a1592ad-bc9d-4664-fd19-f7448a37edc0@huawei.com/
[2] https://lore.kernel.org/lkml/20210630071211.21011-1-rppt@kernel.org/#t
Mike Rapoport (5):
memblock: free_unused_memmap: use pageblock units instead of MAX_ORDER
memblock: align freed memory map on pageblock boundaries with
SPARSEMEM
memblock: ensure there is no overflow in memblock_overlaps_region()
arm: extend pfn_valid to take into account freed memory map alignment
arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM
arch/arm/mm/init.c | 37 +++++++++++++++++++++++++------------
arch/arm/mm/ioremap.c | 4 +++-
mm/memblock.c | 3 ++-
3 files changed, 30 insertions(+), 14 deletions(-)
--
2.18.0
More information about the linux-arm-kernel
mailing list