[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1656934895-12334-2-git-send-email-carlo.bai@linux.alibaba.com>
Date: Mon, 4 Jul 2022 19:41:34 +0800
From: Kaihao Bai <carlo.bai@...ux.alibaba.com>
To: ebiederm@...ssion.com
Cc: kexec@...ts.infradead.org, linux-kernel@...r.kernel.org,
baolin.wang@...ux.alibaba.com, carlo.bai@...ux.alibaba.com
Subject: [PATCH 1/2] kexec: accumulate kexec_crash_size if crashk_low_res defined
Currently x86 and arm64 support to reserve low memory range for
crashkernel. When crashkernel=Y,low is defined, the main kernel would
reserve another memblock (instead of crashkernel=X,high, which stored
in crashk_res) for crashkernel and store it in crashk_low_res. But
the value of /sys/kernel/kexec_crash_size only calculates the size of
crashk_res size is not calculated.
To ensure the consistency of /sys/kernel/kexec_crash_size, when
crashk_low_res is defined, its size needs to be accumulated to
kexec_crash_size.
Signed-off-by: Kaihao Bai <carlo.bai@...ux.alibaba.com>
---
kernel/kexec_core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 4d34c78..137f6eb 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -1016,6 +1016,8 @@ size_t crash_get_memory_size(void)
mutex_lock(&kexec_mutex);
if (crashk_res.end != crashk_res.start)
size = resource_size(&crashk_res);
+ if (crashk_low_res.end != crashk_low_res.start)
+ size += resource_size(&crashk_low_res);
mutex_unlock(&kexec_mutex);
return size;
}
--
1.8.3.1
Powered by blists - more mailing lists