mkdumprd: Fix makedumpfile parameter check

Resolves: https://issues.redhat.com/browse/RHEL-38358
Upstream: kdump-utils

commit 247c7a5f39b305f9a83bad2d936d00237165b7e0
Author: Mamoru Nishibe (Fujitsu) <nishibe.mamoru@fujitsu.com>
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 <nishibe.mamoru@fujitsu.com>
    Reviewed-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Pingfan Liu <piliu@redhat.com>
This commit is contained in:
Pingfan Liu 2024-06-17 19:32:15 +08:00
parent 0b41df179e
commit 44100b9a8a

View File

@ -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