diff mbox series

[v6,2/4] certs: Check whether openssl tool is available

Message ID 20210610125623.1553792-3-stefanb@linux.ibm.com (mailing list archive)
State New
Headers show
Series Add support for ECDSA-signed kernel modules | expand

Commit Message

Stefan Berger June 10, 2021, 12:56 p.m. UTC
To avoid a good key from being removed because the openssl tool is
not installed and 'openssl x509' is not returning the expected result,
run the openssl tool commands only if the openssl tool is available.

Fixes: 	ec739868f340 ("certs: Trigger creation of RSA module signing key if it's not an RSA key")
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reported-by: kernel test robot <lkp@intel.com>
 certs/Makefile | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series


diff --git a/certs/Makefile b/certs/Makefile
index e6f97c64aa99..72758684d254 100644
--- a/certs/Makefile
+++ b/certs/Makefile
@@ -57,15 +57,18 @@  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 $(CONFIG_MODULE_SIG_KEY) -text)
 $(if $(findstring rsaEncryption,$(X509TEXT)),,$(shell rm -f $(CONFIG_MODULE_SIG_KEY)))
 $(obj)/signing_key.pem: $(obj)/x509.genkey
 	@$(kecho) "###"