Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
dracut.3137
0078-Restore-original-IFS-value.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0078-Restore-original-IFS-value.patch of Package dracut.3137
From 3ad963984b30a990c1ac94c81deb410322daafb6 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <hare@suse.de> Date: Mon, 23 Jun 2014 14:06:47 +0200 Subject: Restore original IFS value Whenever the IFS setting is modified it needs to be restored to its original value. Otherwise it'll lead to unexpected results. References: bnc#883770 Signed-off-by: Hannes Reinecke <hare@suse.de> --- modules.d/81cio_ignore/parse-cio_accept.sh | 3 ++- modules.d/90kernel-modules/insmodpost.sh | 2 +- modules.d/90kernel-modules/parse-kernel.sh | 4 ++++ modules.d/95dasd/parse-dasd.sh | 2 +- modules.d/95dasd_rules/parse-dasd.sh | 8 +++++--- modules.d/95iscsi/module-setup.sh | 6 ++++-- modules.d/95zfcp/parse-zfcp.sh | 2 +- modules.d/95zfcp_rules/parse-zfcp.sh | 4 +++- modules.d/98systemd/dracut-pre-udev.sh | 4 ++-- 9 files changed, 23 insertions(+), 12 deletions(-) diff --git a/modules.d/81cio_ignore/parse-cio_accept.sh b/modules.d/81cio_ignore/parse-cio_accept.sh index fec8a92..4f899d2 100644 --- a/modules.d/81cio_ignore/parse-cio_accept.sh +++ b/modules.d/81cio_ignore/parse-cio_accept.sh @@ -10,6 +10,7 @@ if [ -z $CIO_IGNORE ] ; then return fi if [ -n "$CIO_ACCEPT" ] ; then + OLDIFS="$IFS" IFS=, set -- $CIO_ACCEPT while (($# > 0)) ; do @@ -17,5 +18,5 @@ if [ -n "$CIO_ACCEPT" ] ; then cio_ignore --remove $1 shift done - unset IFS + IFS="$OLDIFS" fi diff --git a/modules.d/90kernel-modules/insmodpost.sh b/modules.d/90kernel-modules/insmodpost.sh index d2b8723..141f091 100755 --- a/modules.d/90kernel-modules/insmodpost.sh +++ b/modules.d/90kernel-modules/insmodpost.sh @@ -6,7 +6,7 @@ for modlist in $(getargs rd.driver.post -d rdinsmodpost=); do ( - IFS=, + local IFS=, for m in $modlist; do modprobe $m done diff --git a/modules.d/90kernel-modules/parse-kernel.sh b/modules.d/90kernel-modules/parse-kernel.sh index fa891bf..e012e52 100755 --- a/modules.d/90kernel-modules/parse-kernel.sh +++ b/modules.d/90kernel-modules/parse-kernel.sh @@ -13,10 +13,12 @@ fi for i in $(getargs rd.driver.pre -d rdloaddriver=); do ( + OLDIFS="$IFS" IFS=, for p in $i; do modprobe $p 2>&1 | vinfo done + IFS="$OLDIFS" ) done @@ -25,10 +27,12 @@ done for i in $(getargs rd.driver.blacklist -d rdblacklist=); do ( + OLDIFS="$IFS" IFS=, for p in $i; do echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf done + IFS="$OLDIFS" ) done diff --git a/modules.d/95dasd/parse-dasd.sh b/modules.d/95dasd/parse-dasd.sh index 1aa1455..aba720b 100755 --- a/modules.d/95dasd/parse-dasd.sh +++ b/modules.d/95dasd/parse-dasd.sh @@ -3,7 +3,7 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh for dasd_arg in $(getargs rd.dasd= -d rd_DASD= DASD=); do ( - IFS="," + local IFS="," set -- $dasd_arg echo "$@" | normalize_dasd_arg >> /etc/dasd.conf ) diff --git a/modules.d/95dasd_rules/parse-dasd.sh b/modules.d/95dasd_rules/parse-dasd.sh index 94a4b30..02b4aea 100755 --- a/modules.d/95dasd_rules/parse-dasd.sh +++ b/modules.d/95dasd_rules/parse-dasd.sh @@ -51,8 +51,10 @@ for dasd_arg in $(getargs root=) $(getargs resume=); do break; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" create_udev_rule $2 fi ) @@ -60,9 +62,8 @@ done for dasd_arg in $(getargs rd.dasd=); do ( - IFS="," + local IFS="," set -- $dasd_arg - unset IFS while (($# > 0)); do case $1 in autodetect|probeonly) @@ -70,13 +71,14 @@ for dasd_arg in $(getargs rd.dasd=); do ;; *-*) range=$1 + OLDIFS="$IFS" IFS="-" set -- $range start=${1#0.0.} shift end=${1#0.0.} shift - unset IFS + IFS="$OLDIFS" for dev in $(seq $(( 10#$start )) $(( 10#$end )) ) ; do create_udev_rule $(printf "0.0.%04d" "$dev") done diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh index b90e298..cfa6f39 100755 --- a/modules.d/95iscsi/module-setup.sh +++ b/modules.d/95iscsi/module-setup.sh @@ -3,16 +3,18 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh get_ibft_mod() { - local ibft_mac=$1 + local ibft_mac=$1 IFS # Return the iSCSI offload module for a given MAC address iscsiadm -m iface | while read iface_name iface_desc ; do + OLDIFS="$IFS" IFS=$',' set -- $iface_desc + IFS="$OLDIFS" if [ "$ibft_mac" = "$2" ] ; then echo $1 return 0 fi - unset IFS + done } diff --git a/modules.d/95zfcp/parse-zfcp.sh b/modules.d/95zfcp/parse-zfcp.sh index 9b22d93..1d21472 100755 --- a/modules.d/95zfcp/parse-zfcp.sh +++ b/modules.d/95zfcp/parse-zfcp.sh @@ -6,7 +6,7 @@ getargbool 1 rd.zfcp.conf -d -n rd_NO_ZFCPCONF || rm /etc/zfcp.conf for zfcp_arg in $(getargs rd.zfcp -d 'rd_ZFCP='); do ( - IFS="," + local IFS="," set $zfcp_arg echo "$@" >> /etc/zfcp.conf ) diff --git a/modules.d/95zfcp_rules/parse-zfcp.sh b/modules.d/95zfcp_rules/parse-zfcp.sh index 8538ae3..56152da 100755 --- a/modules.d/95zfcp_rules/parse-zfcp.sh +++ b/modules.d/95zfcp_rules/parse-zfcp.sh @@ -44,7 +44,7 @@ EOF for zfcp_arg in $(getargs rd.zfcp); do ( - IFS="," + local IFS="," set $zfcp_arg create_udev_rule $1 $2 $3 ) @@ -58,8 +58,10 @@ for zfcp_arg in $(getargs root=) $(getargs resume=); do break; esac if [ -n "$ccw_arg" ] ; then + OLDIFS="$IFS" IFS="-" set -- $ccw_arg + IFS="$OLDIFS" wwpn=${4%:*} lun=${4#*:} create_udev_rule $2 $wwpn $lun diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh index 638da40..77977d2 100755 --- a/modules.d/98systemd/dracut-pre-udev.sh +++ b/modules.d/98systemd/dracut-pre-udev.sh @@ -26,7 +26,7 @@ fi for i in $(getargs rd.driver.pre -d rdloaddriver=); do ( - IFS=, + local IFS=, for p in $i; do modprobe $p 2>&1 | vinfo done @@ -38,7 +38,7 @@ done for i in $(getargs rd.driver.blacklist -d rdblacklist=); do ( - IFS=, + local IFS=, for p in $i; do echo "blacklist $p" >> $_modprobe_d/initramfsblacklist.conf done -- 1.8.4.5
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor