Thread (15 messages) 15 messages, 2 authors, 2021-06-18
STALE1804d
Revisions (7)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v3 [diff vs current]
  4. v4 [diff vs current]
  5. v5 [diff vs current]
  6. v5 [diff vs current]
  7. v6 current

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

From: Stefan Berger <stefanb@linux.ibm.com>
Date: 2021-06-10 12:56:53
Also in: keyrings, linux-integrity, lkml
Subsystem: certificate handling, the rest · Maintainers: David Howells, David Woodhouse, Linus Torvalds

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 <redacted>
---
 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)))
+endif
 
 $(obj)/signing_key.pem: $(obj)/x509.genkey
 	@$(kecho) "###"
-- 
2.29.2
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help