From c931d1ba8e66b6977430058149aa7b8e8d7958c3 Mon Sep 17 00:00:00 2001 From: Tao Liu Date: Jun 13 2022 02:17:06 +0000 Subject: kdump-lib.sh: Check the output of blkid with sed instead of eval upstream: fedora resolves: bz2096132 conflict: none commit 2bbc7512a2f2cf953ea047f54bd590d4d285b658 Author: Tao Liu Date: Wed Feb 16 14:26:38 2022 +0800 kdump-lib.sh: Check the output of blkid with sed instead of eval Previously the output of blkid is not checked. If the output is empty, the eval will report the following error message: /lib/kdump/kdump-lib.sh: eval: line 925: syntax error near unexpected token `;' /lib/kdump/kdump-lib.sh: eval: line 925: `; echo $TYPE' For example, we can observe such a failing when blkid is invoked against a lvm thinpool block device: $ blkid -u filesystem,crypto -o export -- "/dev/block/253\:2" $ echo $? 2 $ udevadm info /dev/block/253\:2|grep S\: S: mapper/vg00-thinpoll_tmeta In this patch, we will use sed instead of eval, to output the fstype of block device if any. Signed-off-by: Tao Liu Reviewed-by: Philipp Rudo Signed-off-by: Tao Liu --- diff --git a/kdump-lib.sh b/kdump-lib.sh index 5046676..1146ff5 100755 --- a/kdump-lib.sh +++ b/kdump-lib.sh @@ -887,7 +887,8 @@ get_luks_crypt_dev() [[ -b /dev/block/$1 ]] || return 1 - _type=$(eval "$(blkid -u filesystem,crypto -o export -- "/dev/block/$1"); echo \$TYPE") + _type=$(blkid -u filesystem,crypto -o export -- "/dev/block/$1" | \ + sed -n -E "s/^TYPE=(.*)$/\1/p") [[ $_type == "crypto_LUKS" ]] && echo "$1" for _x in "/sys/dev/block/$1/slaves/"*; do