fadump: reserve param area if below boot_mem_top
authorSourabh Jain <sourabhjain@linux.ibm.com>
Thu, 7 Nov 2024 05:58:17 +0000 (11:28 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 10 Nov 2024 11:33:52 +0000 (22:33 +1100)
The param area is a memory region where the kernel places additional
command-line arguments for fadump kernel. Currently, the param memory
area is reserved in fadump kernel if it is above boot_mem_top. However,
it should be reserved if it is below boot_mem_top because the fadump
kernel already reserves memory from boot_mem_top to the end of DRAM.

Currently, there is no impact from not reserving param memory if it is
below boot_mem_top, as it is not used after the early boot phase of the
fadump kernel. However, if this changes in the future, it could lead to
issues in the fadump kernel.

Fixes: 3416c9daa6b1 ("powerpc/fadump: pass additional parameters when fadump is active")
Acked-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://patch.msgid.link/20241107055817.489795-2-sourabhjain@linux.ibm.com
arch/powerpc/kernel/fadump.c

index 5583017..4b371c7 100644 (file)
@@ -153,7 +153,7 @@ void __init fadump_append_bootargs(void)
        if (!fw_dump.dump_active || !fw_dump.param_area_supported || !fw_dump.param_area)
                return;
 
-       if (fw_dump.param_area >= fw_dump.boot_mem_top) {
+       if (fw_dump.param_area < fw_dump.boot_mem_top) {
                if (memblock_reserve(fw_dump.param_area, COMMAND_LINE_SIZE)) {
                        pr_warn("WARNING: Can't use additional parameters area!\n");
                        fw_dump.param_area = 0;