2012-11-07 13:55:13 +00:00
|
|
|
From 56713a28675b966e027a824a0130b80dffab209f Mon Sep 17 00:00:00 2001
|
|
|
|
From: Josh Boyer <jwboyer@redhat.com>
|
|
|
|
Date: Mon, 5 Nov 2012 09:09:24 +1030
|
|
|
|
Subject: [PATCH] MODSIGN: Add modules_sign make target
|
2012-09-25 16:02:24 +00:00
|
|
|
|
2012-11-07 13:55:13 +00:00
|
|
|
If CONFIG_MODULE_SIG is set, and 'make modules_sign' is called then this
|
|
|
|
patch will cause the modules to get a signature appended. The make target
|
|
|
|
is intended to be run after 'make modules_install', and will modify the
|
|
|
|
modules in-place in the installed location. It can be used to produce
|
|
|
|
signed modules after they have been processed by distribution build
|
|
|
|
scripts.
|
2012-09-25 16:02:24 +00:00
|
|
|
|
|
|
|
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
|
2012-11-07 13:55:13 +00:00
|
|
|
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)
|
2012-09-25 16:02:24 +00:00
|
|
|
---
|
2012-11-07 13:55:13 +00:00
|
|
|
Makefile | 6 ++++++
|
|
|
|
scripts/Makefile.modsign | 32 ++++++++++++++++++++++++++++++++
|
|
|
|
2 files changed, 38 insertions(+), 0 deletions(-)
|
2012-09-25 16:02:24 +00:00
|
|
|
create mode 100644 scripts/Makefile.modsign
|
|
|
|
|
|
|
|
diff --git a/Makefile b/Makefile
|
2012-11-07 13:55:13 +00:00
|
|
|
index 42d0e56..253aa1b 100644
|
2012-09-25 16:02:24 +00:00
|
|
|
--- a/Makefile
|
|
|
|
+++ b/Makefile
|
2012-10-23 16:02:53 +00:00
|
|
|
@@ -981,6 +981,12 @@ _modinst_post: _modinst_
|
2012-09-25 16:02:24 +00:00
|
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst
|
|
|
|
$(call cmd,depmod)
|
|
|
|
|
|
|
|
+ifeq ($(CONFIG_MODULE_SIG), y)
|
|
|
|
+PHONY += modules_sign
|
|
|
|
+modules_sign:
|
|
|
|
+ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
else # CONFIG_MODULES
|
|
|
|
|
|
|
|
# Modules not configured
|
|
|
|
diff --git a/scripts/Makefile.modsign b/scripts/Makefile.modsign
|
|
|
|
new file mode 100644
|
2012-11-07 13:55:13 +00:00
|
|
|
index 0000000..abfda62
|
2012-09-25 16:02:24 +00:00
|
|
|
--- /dev/null
|
|
|
|
+++ b/scripts/Makefile.modsign
|
2012-10-23 16:02:53 +00:00
|
|
|
@@ -0,0 +1,32 @@
|
2012-09-25 16:02:24 +00:00
|
|
|
+# ==========================================================================
|
|
|
|
+# Signing modules
|
|
|
|
+# ==========================================================================
|
|
|
|
+
|
|
|
|
+PHONY := __modsign
|
|
|
|
+__modsign:
|
|
|
|
+
|
|
|
|
+include scripts/Kbuild.include
|
|
|
|
+
|
|
|
|
+__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
|
|
|
|
+modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
|
|
|
|
+
|
|
|
|
+PHONY += $(modules)
|
|
|
|
+__modsign: $(modules)
|
|
|
|
+ @:
|
|
|
|
+
|
|
|
|
+quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@)
|
2012-10-23 16:02:53 +00:00
|
|
|
+ cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@)
|
2012-09-25 16:02:24 +00:00
|
|
|
+
|
|
|
|
+# Modules built outside the kernel source tree go into extra by default
|
|
|
|
+INSTALL_MOD_DIR ?= extra
|
|
|
|
+ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
|
|
|
|
+
|
|
|
|
+modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
|
|
|
|
+
|
2012-10-23 16:02:53 +00:00
|
|
|
+$(modules):
|
2012-09-25 16:02:24 +00:00
|
|
|
+ $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))
|
|
|
|
+
|
|
|
|
+# Declare the contents of the .PHONY variable as phony. We keep that
|
2012-11-07 13:55:13 +00:00
|
|
|
+# information in a variable se we can use it in if_changed and friends.
|
2012-09-25 16:02:24 +00:00
|
|
|
+
|
|
|
|
+.PHONY: $(PHONY)
|
|
|
|
--
|
2012-11-07 13:55:13 +00:00
|
|
|
1.7.7.6
|
2012-10-02 13:56:09 +00:00
|
|
|
|