powerpc/fadump: fix PT_LOAD segment for boot memory area
authorHari Bathini <hbathini@linux.ibm.com>
Wed, 6 Apr 2022 09:38:37 +0000 (15:08 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 26 Apr 2022 12:38:13 +0000 (22:38 +1000)
commit15eb77f873255cf9f4d703b63cfbd23c46579654
tree364f9dbf32fb40e58da618bc1088c7e1e67401de
parent6584cec0a2255ab407d047d1b135fa0aae88d6c6
powerpc/fadump: fix PT_LOAD segment for boot memory area

Boot memory area is setup as separate PT_LOAD segment in the vmcore
as it is moved by f/w, on crash, to a destination address provided by
the kernel. Having separate PT_LOAD segment helps in handling the
different physical address and offset for boot memory area in the
vmcore.

Commit ced1bf52f477 ("powerpc/fadump: merge adjacent memory ranges to
reduce PT_LOAD segements") inadvertly broke this pre-condition for
cases where some of the first kernel memory is available adjacent to
boot memory area. This scenario is rare but possible when memory for
fadump could not be reserved adjacent to boot memory area owing to
memory hole or such. Reading memory from a vmcore exported in such
scenario provides incorrect data.  Fix it by ensuring no other region
is folded into boot memory area.

Fixes: ced1bf52f477 ("powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements")
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220406093839.206608-2-hbathini@linux.ibm.com
arch/powerpc/kernel/fadump.c