summaryrefslogtreecommitdiffstats
path: root/mod-sign.sh
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2019-12-03 20:26:21 +0100
committerThorsten Leemhuis <fedora@leemhuis.info>2019-12-03 20:26:21 +0100
commit799a33117bbf192b17db34a37c53e1e7476b1022 (patch)
tree286adb46ca2e4b163805e2fe1903b92a8c10a262 /mod-sign.sh
parent536a66c180f3c645134fd451423ac99a2bb278ab (diff)
parent7e8e0b495bfcdb4920298120021823637859fedc (diff)
downloadkernel-5.5.0-0.rc0.git4.1.vanilla.knurd.1.fc30.tar.gz
kernel-5.5.0-0.rc0.git4.1.vanilla.knurd.1.fc30.tar.xz
kernel-5.5.0-0.rc0.git4.1.vanilla.knurd.1.fc30.zip
Diffstat (limited to 'mod-sign.sh')
-rwxr-xr-xmod-sign.sh19
1 files changed, 10 insertions, 9 deletions
diff --git a/mod-sign.sh b/mod-sign.sh
index 5081e77dc..ed2bd62b6 100755
--- a/mod-sign.sh
+++ b/mod-sign.sh
@@ -11,21 +11,22 @@
MODSECKEY=$1
MODPUBKEY=$2
-
moddir=$3
-modules=`find $moddir -name *.ko`
+modules=`find $moddir -type f -name '*.ko'`
-for mod in $modules
-do
- dir=`dirname $mod`
- file=`basename $mod`
+NPROC=`nproc`
+[ -z "$NPROC" ] && NPROC=1
- ./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file}
- rm -f ${dir}/${file}.{sig,dig}
+# NB: this loop runs 2000+ iterations. Try to be fast.
+echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
+for mod; do
+ ./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
+ rm -f \$mod.sig \$mod.dig
done
+" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
-RANDOMMOD=$(find $moddir -type f -name '*.ko' | sort -R | head -n 1)
+RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
echo "*****************************"
echo "*** Modules are unsigned! ***"