Re: [PATCH 8/8] kbuild: support modules_sign for external modules as well

From: Nicolas Schier
Date: Mon Aug 28 2023 - 10:54:22 EST


On Wed 23 Aug 2023 20:50:48 GMT, Masahiro Yamada wrote:
> 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@xxxxxxxxxx>
> ---

Reviewed-by: Nicolas Schier <nicolas@xxxxxxxxx>


>
> Makefile | 32 ++++++++++++++++----------------
> scripts/Makefile.modinst | 4 ++--
> 2 files changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 82d22debf6c9..87a9eef3fb4b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -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 33d424a3f265..459cb1fed223 100644
> --- a/scripts/Makefile.modinst
> +++ b/scripts/Makefile.modinst
> @@ -13,7 +13,7 @@ install-y :=
>
> PHONY += prepare
>
> -ifeq ($(KBUILD_EXTMOD)$(modules_sign_only),)
> +ifeq ($(KBUILD_EXTMOD)$(sign-only),)
>
> # Install more files for in-tree modules_install
>
> @@ -115,7 +115,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
> --
> 2.39.2

--
Nicolas Schier

epost|xmpp: nicolas@xxxxxxxxx irc://oftc.net/nsc
↳ gpg: 18ed 52db e34f 860e e9fb c82b 7d97 0932 55a0 ce7f
-- frykten for herren er opphav til kunnskap --

Attachment: signature.asc
Description: PGP signature