From 44100b9a8a91516f3939e6bb99a98b1aa4cda75a Mon Sep 17 00:00:00 2001 From: Pingfan Liu Date: Mon, 17 Jun 2024 19:32:15 +0800 Subject: [PATCH] mkdumprd: Fix makedumpfile parameter check Resolves: https://issues.redhat.com/browse/RHEL-38358 Upstream: kdump-utils commit 247c7a5f39b305f9a83bad2d936d00237165b7e0 Author: Mamoru Nishibe (Fujitsu) Date: Wed Apr 24 08:11:12 2024 +0000 mkdumprd: Fix makedumpfile parameter check. If only "makedumpfile" is written in "core_collector" of /etc/kdump.conf and try to run makedumpfile without options, "makedumpfile --check-params" fails and terminates abnormally. # grep ^core_collector /etc/kdump.conf core_collector makedumpfile # /usr/bin/kdumpctl start : Commandline parameter is invalid. Try `makedumpfile --help' for more information. kdump: makedumpfile parameter check failed. kdump: mkdumprd: failed to make kdump initrd kdump: Starting kdump: [FAILED] On the other hand, "makedumpfile --check-params" works fine without any options. # makedumpfile --check-params vmcore dumpfile # echo $? 0 In addition, before verify_core_collector() was implemented, initial RAM for kdump was successfully created using only "core_collector makedumpfile". I consider it a regression. This is due to a parameter extraction error in verify_core_collector(). Fix it to correctly extract only the options as follows. Fixes: a1c28126 ("mkdumprd: Use makedumpfile --check-params option") Signed-off-by: Mamoru Nishibe Reviewed-by: Coiby Xu Signed-off-by: Pingfan Liu --- mkdumprd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdumprd b/mkdumprd index e5c6e06..6977d14 100644 --- a/mkdumprd +++ b/mkdumprd @@ -240,7 +240,7 @@ check_user_configured_target() # $1: core_collector config value verify_core_collector() { local _cmd="${1%% *}" - local _params="${1#* }" + local _params="${1#${_cmd}}" if [ "$_cmd" != "makedumpfile" ]; then if is_raw_dump_target; then