[PATCH-RESEND] arm64/kexec: Fix missing extra range for crashkres_low.

From: Yun Levi
Date: Tue Aug 30 2022 - 00:28:49 EST


Like crashk_res, Calling crash_exclude_mem_range function with
crashk_low_res area would need extra crash_mem range too.
Add one extra crash_mem range when crashk_low_res is used.

Signed-off-by: Levi Yun <ppbuk5246@xxxxxxxxx>
---
arch/arm64/kernel/machine_kexec_file.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm64/kernel/machine_kexec_file.c
b/arch/arm64/kernel/machine_kexec_file.c
index 889951291cc0..378aee04e7d4 100644
--- a/arch/arm64/kernel/machine_kexec_file.c
+++ b/arch/arm64/kernel/machine_kexec_file.c
@@ -51,6 +51,9 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
for_each_mem_range(i, &start, &end)
nr_ranges++;

+ if (crashk_low_res.end)
+ nr_ranges++; /**< for exclusion of
crashkernel=size,low region */
+
cmem = kmalloc(struct_size(cmem, ranges, nr_ranges), GFP_KERNEL);
if (!cmem)
return -ENOMEM;
--
2.35.1