dracut/0078-Restore-original-IFS-value.patch
Shawn Dunn b523995f47 Accepting request 238369 from home:hreinecke:branches:Base:System
- More empty commandline fixes
  * Add: 0074-More-empty-cmdline-fixes.patch
- 95dasd_rules: enable parsing of rd.dasd= commandline parameter
  * Add: 0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch
- Correctly set cio_ignore for dynamic s390 rules
  * Add: 0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch
- 90multipath: add missing 11-dm-mpath.rules file (bnc#883149)
  * Add: 0077-90multipath-add-missing-11-dm-mpath.rules-file.patch
- Restore original IFS value (bnc#883770)
  * Add: 0078-Restore-original-IFS-value.patch

- Fix non-export of journal dev boot options
  * Add: 0071-Fix-non-export-of-journal-dev-boot-options.patch
- Also export root= boot param for hostonly-cmdline
  * Add: 0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch
- Don't create lots of empty cmdline files
  * Add: 0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch

OBS-URL: https://build.opensuse.org/request/show/238369
OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=164
2014-06-25 15:13:52 +00:00

228 lines
6.8 KiB
Diff

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