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

Stefan Berger stefanb at linux.ibm.com
Thu Jun 10 12:56:21 UTC 2021

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 at linux.ibm.com>
Reported-by: kernel test robot <lkp at intel.com>
 certs/Makefile | 3 +++
 1 file changed, 3 insertions(+)

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) "###"

More information about the Linux-security-module-archive mailing list