[PATCH v5 1/9] MIPS: Avoid future duplicate elf core header reservation

From: Geert Uytterhoeven
Date: Wed Aug 11 2021 - 04:51:59 EST


Prepare for early_init_fdt_scan_reserved_mem() reserving the memory
occupied by an elf core header described in the device tree.
As arch_mem_init() calls early_init_fdt_scan_reserved_mem() before
mips_reserve_vmcore(), the latter needs to check if the memory has
already been reserved before.

Note that mips_reserve_vmcore() cannot just be removed, as not all MIPS
systems use DT.

Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
---
v5:
- New.
---
arch/mips/kernel/setup.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
index 23a140327a0bac1b..4693add05743d78b 100644
--- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c
@@ -429,7 +429,8 @@ static void __init mips_reserve_vmcore(void)
pr_info("Reserving %ldKB of memory at %ldKB for kdump\n",
(unsigned long)elfcorehdr_size >> 10, (unsigned long)elfcorehdr_addr >> 10);

- memblock_reserve(elfcorehdr_addr, elfcorehdr_size);
+ if (!memblock_is_region_reserved(elfcorehdr_addr, elfcorehdr_size)
+ memblock_reserve(elfcorehdr_addr, elfcorehdr_size);
#endif
}

--
2.25.1