Prabhakar recently reported a kdump kernel boot failure on ThunderX2 arm64 plaforms (which I was able to reproduce on ampere arm64 machines as well), (see [1]), which is seen when a corner case is hit on some arm64 boards when kdump kernel runs with "cgroup_disable=memory" passed to the kdump kernel (via bootargs) and the crashkernel was originally allocated from either a ZONE_DMA32 memory or mixture of memory chunks belonging to both ZONE_DMA and ZONE_DMA32 regions.
While [PATCH 1/2] fixes the OOPS inside mem_cgroup_get_nr_swap_pages() function, [PATCH 2/2] fixes the OOM seen inside the kdump kernel by allocating the crashkernel inside ZONE_DMA region only. [1]. https://marc.info/?l=kexec&m=158954035710703&w=4 Cc: Johannes Weiner <han...@cmpxchg.org> Cc: Michal Hocko <mho...@kernel.org> Cc: Vladimir Davydov <vdavydov....@gmail.com> Cc: James Morse <james.mo...@arm.com> Cc: Mark Rutland <mark.rutl...@arm.com> Cc: Will Deacon <w...@kernel.org> Cc: Catalin Marinas <catalin.mari...@arm.com> Cc: cgro...@vger.kernel.org Cc: linux...@kvack.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Cc: ke...@lists.infradead.org Reported-by: Prabhakar Kushwaha <pkushw...@marvell.com> Signed-off-by: Bhupesh Sharma <bhsha...@redhat.com> Bhupesh Sharma (2): mm/memcontrol: Fix OOPS inside mem_cgroup_get_nr_swap_pages() arm64: Allocate crashkernel always in ZONE_DMA arch/arm64/mm/init.c | 16 ++++++++++++++-- mm/memcontrol.c | 9 ++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) -- 2.7.4