Message ID | 20210629213421.60320-2-stefanb@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add support for ECDSA-signed kernel modules | expand |
On Tue, Jun 29, 2021 at 2:34 PM Stefan Berger <stefanb@linux.vnet.ibm.com> wrote: > > Address a kbuild issue where a developer created an ECDSA key for signing > kernel modules and then builds an older version of the kernel, when bi- > secting the kernel for example, that does not support ECDSA keys. Thanks, these two don't confuse me any more. Linus
On Wed, Jun 30, 2021 at 12:17:38PM -0700, Linus Torvalds wrote: > On Tue, Jun 29, 2021 at 2:34 PM Stefan Berger > <stefanb@linux.vnet.ibm.com> wrote: > > > > Address a kbuild issue where a developer created an ECDSA key for signing > > kernel modules and then builds an older version of the kernel, when bi- > > secting the kernel for example, that does not support ECDSA keys. > > Thanks, these two don't confuse me any more. > > Linus I'll (re-)test the changes, and make a PR after rc1 out. /Jarkko
diff --git a/certs/Makefile b/certs/Makefile index 359239a0ee9e..f9344e52ecda 100644 --- a/certs/Makefile +++ b/certs/Makefile @@ -57,11 +57,19 @@ endif redirect_openssl = 2>&1 quiet_redirect_openssl = 2>&1 silent_redirect_openssl = 2>/dev/null +openssl_available = $(shell openssl help 2>/dev/null && echo yes) # We do it this way rather than having a boolean option for enabling an # external private key, because 'make randconfig' might enable such a # boolean option and we unfortunately can't make it depend on !RANDCONFIG. ifeq ($(CONFIG_MODULE_SIG_KEY),"certs/signing_key.pem") + +ifeq ($(openssl_available),yes) +X509TEXT=$(shell openssl x509 -in "certs/signing_key.pem" -text 2>/dev/null) + +$(if $(findstring rsaEncryption,$(X509TEXT)),,$(shell rm -f "certs/signing_key.pem")) +endif + $(obj)/signing_key.pem: $(obj)/x509.genkey @$(kecho) "###" @$(kecho) "### Now generating an X.509 key pair to be used for signing modules."