Hi, Dave
On 9/25/25 17:11, Dave Young wrote:
Hi Youling,
On Thu, 25 Sept 2025 at 14:33, Youling Tang <[email protected]> wrote:
From: Youling Tang <[email protected]>
During kdump operations, the capture kernel cannot reuse the "mem="
parameter from the production kernel. The "mem=" parameter is used
to specify the available memory range for the kernel. Reusing the
"mem=" memory range may destroy the production environment.
Signed-off-by: Youling Tang <[email protected]>
---
kexec/kexec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/kexec/kexec.c b/kexec/kexec.c
index c9e4bcb..fadf986 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
@@ -1256,8 +1256,10 @@ char *get_command_line(void)
*p = '\0';
remove_parameter(line, "BOOT_IMAGE");
- if (kexec_flags & KEXEC_ON_CRASH)
+ if (kexec_flags & KEXEC_ON_CRASH) {
remove_parameter(line, "crashkernel");
+ remove_parameter(line, "mem=");
+ }
People can remove it from the kdump load scripts instead if it is not
useful. I do not suggest removing other cmdline in c code. The
crashkernel is a special one which is fine.
Removing it in scripts is also acceptable. However, reusing the
production kernel's
"mem=" parameter will inevitably damage the production environment. In
my view,
modifying it in C code can achieve a permanent solution (avoiding the
need to
modify kdump services for each distribution, and also applicable to
non-kdump
services scenarios where commands are executed directly).
Thanks,
Youling.
return line;
}
--
2.48.1
Thanks
Dave