From: Hari Bathini <hbath...@linux.ibm.com>

commit 9a2921e5baca1d25eb8d21f21d1e90581a6d0f68 upstream.

If the memory chunk found for reserving memory overshoots the memory
limit imposed, do not proceed with reserving memory. Default behavior
was this until commit 140777a3d8df ("powerpc/fadump: consider reserved
ranges while reserving memory") changed it unwittingly.

Fixes: 140777a3d8df ("powerpc/fadump: consider reserved ranges while reserving 
memory")
Cc: sta...@vger.kernel.org
Reported-by: kbuild test robot <l...@intel.com>
Signed-off-by: Hari Bathini <hbath...@linux.ibm.com>
Signed-off-by: Michael Ellerman <m...@ellerman.id.au>
Link: 
https://lore.kernel.org/r/159057266320.22331.6571453892066907320.st...@hbathini.in.ibm.com
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 arch/powerpc/kernel/fadump.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -603,7 +603,7 @@ int __init fadump_reserve_mem(void)
                 */
                base = fadump_locate_reserve_mem(base, size);
 
-               if (!base) {
+               if (!base || (base + size > mem_boundary)) {
                        pr_err("Failed to find memory chunk for 
reservation!\n");
                        goto error_out;
                }


Reply via email to