Chao pointed out that it's better to use get_option_value to get
get a specific config_val.
And also there's a potential risk when use below sed command to
do the replacement.
sed -i -e "s#$_save_path#$_path#" /tmp/$$-kdump.conf
Say user configure kdump.conf like the following. Then sed may
replace "/var/crash/post.sh" with something else, depanding on
mount point.
kdump_post /var/crash/post.sh
path /var/crash
So in this patch clean them up.
Signed-off-by: Baoquan He <bhe(a)redhat.com>
---
dracut-module-setup.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dracut-module-setup.sh b/dracut-module-setup.sh
index d65c8c0..793495a 100755
--- a/dracut-module-setup.sh
+++ b/dracut-module-setup.sh
@@ -313,7 +313,7 @@ default_dump_target_install_conf()
is_user_configured_dump_target && return
- _save_path=$(grep ^path "/etc/kdump.conf"| cut -d' ' -f2)
+ _save_path=$(get_option_value "path")
[ -z "$_save_path" ] && _save_path=$DEFAULT_PATH
_mntpoint=$(get_mntpoint_from_path $_save_path)
@@ -331,7 +331,7 @@ default_dump_target_install_conf()
echo "$_fstype $_target" >> /tmp/$$-kdump.conf
_path=${_save_path##"$_mntpoint"}
- sed -i -e "s#$_save_path#$_path#" /tmp/$$-kdump.conf
+ sed -i -e "s#^path[[:space:]]\+$_save_path#path $_path#"
/tmp/$$-kdump.conf
fi
}
@@ -346,7 +346,7 @@ kdump_install_conf() {
config_val=$(strip_comments $config_val)
case "$config_opt" in
ext[234]|xfs|btrfs|minix|raw)
- sed -i -e "s#$config_val#$(kdump_to_udev_name $config_val)#"
/tmp/$$-kdump.conf
+ sed -i -e "s#^$config_opt[[:space:]]\+$config_val#$config_opt
$(kdump_to_udev_name $config_val)#" /tmp/$$-kdump.conf
;;
ssh|nfs)
kdump_install_net "$config_val"
--
1.9.0
Show replies by date