diff options
author | Masahiro Yamada <masahiroy@kernel.org> | 2023-08-23 13:50:48 +0200 |
---|---|---|
committer | Masahiro Yamada <masahiroy@kernel.org> | 2023-09-01 08:58:17 +0200 |
commit | 151aeca2179290fb9eb63bb3ee60c47fffd86c5e (patch) | |
tree | 11588b20d7f5176e078f51b936c6048dd99a3af2 | |
parent | kbuild: support 'make modules_sign' with CONFIG_MODULE_SIG_ALL=n (diff) | |
download | linux-151aeca2179290fb9eb63bb3ee60c47fffd86c5e.tar.xz linux-151aeca2179290fb9eb63bb3ee60c47fffd86c5e.zip |
kbuild: support modules_sign for external modules as well
The modules_sign target is currently only available for in-tree modules,
but it actually works for external modules as well.
Move the modules_sign rule to the common part.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
-rw-r--r-- | Makefile | 32 | ||||
-rw-r--r-- | scripts/Makefile.modinst | 4 |
2 files changed, 18 insertions, 18 deletions
@@ -1461,20 +1461,6 @@ modules: modules_prepare modules_prepare: prepare $(Q)$(MAKE) $(build)=scripts scripts/module.lds -export modules_sign_only := - -ifeq ($(CONFIG_MODULE_SIG),y) -PHONY += modules_sign -modules_sign: modules_install - @: - -# modules_sign is a subset of modules_install. -# 'make modules_install modules_sign' is equivalent to 'make modules_install'. -ifeq ($(filter modules_install,$(MAKECMDGOALS)),) -modules_sign_only := y -endif -endif - endif # CONFIG_MODULES ### @@ -1833,10 +1819,24 @@ endif # KBUILD_EXTMOD # --------------------------------------------------------------------------- # Modules -PHONY += modules modules_install modules_prepare +PHONY += modules modules_install modules_sign modules_prepare modules_install: - $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \ + sign-only=$(if $(filter modules_install,$(MAKECMDGOALS)),,y) + +ifeq ($(CONFIG_MODULE_SIG),y) +# modules_sign is a subset of modules_install. +# 'make modules_install modules_sign' is equivalent to 'make modules_install'. +modules_sign: modules_install + @: +else +modules_sign: + @echo >&2 '***' + @echo >&2 '*** CONFIG_MODULE_SIG is disabled. You cannot sign modules.' + @echo >&2 '***' + @false +endif ifdef CONFIG_MODULES diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst index a5fa3ea46652..c59cc57286ba 100644 --- a/scripts/Makefile.modinst +++ b/scripts/Makefile.modinst @@ -11,7 +11,7 @@ include $(srctree)/scripts/Kbuild.include install-y := -ifeq ($(KBUILD_EXTMOD)$(modules_sign_only),) +ifeq ($(KBUILD_EXTMOD)$(sign-only),) # remove the old directory and symlink $(shell rm -fr $(MODLIB)/kernel $(MODLIB)/build) @@ -104,7 +104,7 @@ quiet_cmd_sign = SIGN $@ cmd_sign = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) "$(sig-key)" certs/signing_key.x509 $@ \ $(if $(KBUILD_EXTMOD),|| true) -ifeq ($(modules_sign_only),) +ifeq ($(sign-only),) # During modules_install, modules are signed only when CONFIG_MODULE_SIG_ALL=y. ifndef CONFIG_MODULE_SIG_ALL |