Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MODSIGN: Add modules_sign make target

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.

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)

authored by

Josh Boyer and committed by
Rusty Russell
d890f510 71eac702

+38
+6
Makefile
··· 981 981 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst 982 982 $(call cmd,depmod) 983 983 984 + ifeq ($(CONFIG_MODULE_SIG), y) 985 + PHONY += modules_sign 986 + modules_sign: 987 + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign 988 + endif 989 + 984 990 else # CONFIG_MODULES 985 991 986 992 # Modules not configured
+32
scripts/Makefile.modsign
··· 1 + # ========================================================================== 2 + # Signing modules 3 + # ========================================================================== 4 + 5 + PHONY := __modsign 6 + __modsign: 7 + 8 + include scripts/Kbuild.include 9 + 10 + __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) 11 + modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) 12 + 13 + PHONY += $(modules) 14 + __modsign: $(modules) 15 + @: 16 + 17 + quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@) 18 + cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@) 19 + 20 + # Modules built outside the kernel source tree go into extra by default 21 + INSTALL_MOD_DIR ?= extra 22 + ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) 23 + 24 + modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) 25 + 26 + $(modules): 27 + $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir)) 28 + 29 + # Declare the contents of the .PHONY variable as phony. We keep that 30 + # information in a variable se we can use it in if_changed and friends. 31 + 32 + .PHONY: $(PHONY)