]> git.pld-linux.org Git - packages/dracut.git/commitdiff
...and the missing patch (thx arekm) auto/th/dracut-044-4
authorJan Palus <atler@pld-linux.org>
Fri, 28 Oct 2016 16:42:54 +0000 (18:42 +0200)
committerJan Palus <atler@pld-linux.org>
Fri, 28 Oct 2016 16:42:54 +0000 (18:42 +0200)
dracut-bash44.patch [new file with mode: 0644]

diff --git a/dracut-bash44.patch b/dracut-bash44.patch
new file mode 100644 (file)
index 0000000..01c0692
--- /dev/null
@@ -0,0 +1,59 @@
+From 54fe53c365c35a3ab9aa4a0c12908079ef376f1e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?tpg=20=28Tomasz=20Pawe=C2=B3=20Gajc=29?= <tpgxyz@gmail.com>
+Date: Tue, 1 Mar 2016 21:03:18 +0100
+Subject: [PATCH] strip NUL bytes in stream before push in string - fixes bug
+ #118
+
+---
+ dracut.sh                                  | 2 +-
+ modules.d/50drm/module-setup.sh            | 6 +++---
+ modules.d/90kernel-modules/module-setup.sh | 6 +++---
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 98dbe0b..2b583de 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1595,7 +1595,7 @@ if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then
+     # strip kernel modules, but do not touch signed modules
+     find "$initdir" -type f -path '*/lib/modules/*.ko' -print0 \
+         | while read -r -d $'\0' f || [ -n "$f" ]; do
+-        SIG=$(tail -c 28 "$f")
++        SIG=$(tail -c 28 "$f" | tr -d '\000')
+         [[ $SIG == '~Module signature appended~' ]] || { printf "%s\000" "$f"; }
+     done | xargs -r -0 strip -g
+diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh
+index 55a214e..80f8ecd 100755
+--- a/modules.d/50drm/module-setup.sh
++++ b/modules.d/50drm/module-setup.sh
+@@ -24,9 +24,9 @@ installkernel() {
+             local _fname _fcont
+             while read _fname || [ -n "$_fname" ]; do
+                 case "$_fname" in
+-                    *.ko)    _fcont="$(<        $_fname)" ;;
+-                    *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
+-                    *.ko.xz) _fcont="$(xz -dc   $_fname)" ;;
++                    *.ko)    _fcont="$(<        "$_fname" | tr -d '\000')" ;;
++                    *.ko.gz) _fcont="$(gzip -dc "$_fname" | tr -d '\000')" ;;
++                    *.ko.xz) _fcont="$(xz -dc   "$_fname" | tr -d '\000')" ;;
+                 esac
+                 [[   $_fcont =~ $_drm_drivers
+                 && ! $_fcont =~ iw_handler_get_spy ]] \
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 300adc7..07b2912 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -10,9 +10,9 @@ installkernel() {
+             function bmf1() {
+                 local _f
+                 while read _f || [ -n "$_f" ]; do case "$_f" in
+-                    *.ko)    [[ $(<         $_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+-                    *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+-                    *.ko.xz) [[ $(xz -dc   <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
++                    *.ko)    [[ $(<         "$_f" | tr -d '\000') =~ $_blockfuncs ]] && echo "$_f" ;;
++                    *.ko.gz) [[ $(gzip -dc <"$_f" | tr -d '\000') =~ $_blockfuncs ]] && echo "$_f" ;;
++                    *.ko.xz) [[ $(xz -dc   <"$_f" | tr -d '\000') =~ $_blockfuncs ]] && echo "$_f" ;;
+                     esac
+                 done
+                 return 0
This page took 0.02678 seconds and 4 git commands to generate.