[kernel/f19] Fix module signing so secure boot works again
Justin M. Forbes
jforbes at fedoraproject.org
Tue Feb 25 21:08:32 UTC 2014
commit 7a2a6ee340e4c800acf18be5b8187c5dfa186f6b
Author: Justin M. Forbes <jforbes at redhat.com>
Date: Tue Feb 25 15:09:13 2014 -0600
Fix module signing so secure boot works again
kernel.spec | 11 +++++++----
mod-sign.sh | 22 +++++++++++++++-------
2 files changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index e56ac0e..47c7ce3 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -62,7 +62,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 100
+%global baserelease 101
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -1908,13 +1908,13 @@ find Documentation -type d | xargs chmod u+w
%define __modsign_install_post \
if [ "%{signmodules}" -eq "1" ]; then \
if [ "%{with_pae}" -ne "0" ]; then \
- %{modsign_cmd} signing_key.priv.sign.%{pae} signing_key.x509.sign+%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}/ \
+ %{modsign_cmd} signing_key.priv.sign.%{pae} signing_key.x509.sign.%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}/ \
fi \
if [ "%{with_debug}" -ne "0" ]; then \
- %{modsign_cmd} signing_key.priv.sign.debug signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.debug/ \
+ %{modsign_cmd} signing_key.priv.sign.debug signing_key.x509.sign.debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.debug/ \
fi \
if [ "%{with_pae_debug}" -ne "0" ]; then \
- %{modsign_cmd} signing_key.priv.sign.%{pae}debug signing_key.x509.sign+%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}debug/ \
+ %{modsign_cmd} signing_key.priv.sign.%{pae}debug signing_key.x509.sign.%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.%{pae}debug/ \
fi \
if [ "%{with_up}" -ne "0" ]; then \
%{modsign_cmd} signing_key.priv.sign signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
@@ -2305,6 +2305,9 @@ fi
# and build.
%changelog
+* Tue Feb 25 2015 Justin M. Forbes <jforbes at fedoraproject.org> - 3.13.5-101
+* Fix module signing so secure boot works again
+
* Tue Feb 25 2014 Josh Boyer <jwboyer at fedoraproject.org>
- Fix mounting issues on cifs (rhbz 1068862)
diff --git a/mod-sign.sh b/mod-sign.sh
index 9d95d48..5081e77 100755
--- a/mod-sign.sh
+++ b/mod-sign.sh
@@ -9,20 +9,28 @@
# This essentially duplicates the 'modules_sign' Kbuild target and runs the
# same commands for those modules.
-moddir=$1
+MODSECKEY=$1
+MODPUBKEY=$2
-modules=`find $moddir -name *.ko`
+moddir=$3
-MODSECKEY="./signing_key.priv"
-MODPUBKEY="./signing_key.x509"
+modules=`find $moddir -name *.ko`
for mod in $modules
do
dir=`dirname $mod`
file=`basename $mod`
- ./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file} \
- ${dir}/${file}.signed
- mv ${dir}/${file}.signed ${dir}/${file}
+ ./scripts/sign-file sha256 ${MODSECKEY} ${MODPUBKEY} ${dir}/${file}
rm -f ${dir}/${file}.{sig,dig}
done
+
+RANDOMMOD=$(find $moddir -type f -name '*.ko' | sort -R | head -n 1)
+if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
+ echo "*****************************"
+ echo "*** Modules are unsigned! ***"
+ echo "*****************************"
+ exit 1
+fi
+
+exit 0
More information about the scm-commits
mailing list