* [PATCH] extract-cert: Wrap key_pass with '#ifdef USE_PKCS11_ENGINE'
@ 2026-03-26 1:19 Nathan Chancellor
0 siblings, 0 replies; only message in thread
From: Nathan Chancellor @ 2026-03-26 1:19 UTC (permalink / raw)
To: David Howells, David Woodhouse
Cc: Nick Desaulniers, Bill Wendling, Justin Stitt, keyrings,
linux-kernel, llvm, stable, Nathan Chancellor
A recent strengthening of -Wunused-but-set-variable (enabled with -Wall)
in clang under a new subwarning, -Wunused-but-set-global, points out an
unused static global variable in certs/extract-cert.c:
certs/extract-cert.c:46:20: error: variable 'key_pass' set but not used [-Werror,-Wunused-but-set-global]
46 | static const char *key_pass;
| ^
After commit 558bdc45dfb2 ("sign-file,extract-cert: use pkcs11 provider
for OPENSSL MAJOR >= 3"), key_pass is only used with the OpenSSL engine
API, not the new provider API. Wrap key_pass's declaration and
assignment with '#ifdef USE_PKCS11_ENGINE' so that it is only included
with its use to clear up the warning. While this is a little uglier than
just marking key_pass with the unused attribute, this will make it
easier to clean up all code associated with the use of the engine API if
it were ever removed in the future. While in the area, use a tab for
the key_pass assignment line to match the rest of the file.
Cc: stable@vger.kernel.org
Fixes: 558bdc45dfb2 ("sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
I am taking a fix for a similar warning in modpost through the kbuild
tree so I don't mind picking this up with an appropriate Ack or it can
just go through the keyring tree, does not matter to me.
---
| 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--git a/certs/extract-cert.c b/certs/extract-cert.c
index 7d6d468ed612..54ecd1024274 100644
--- a/certs/extract-cert.c
+++ b/certs/extract-cert.c
@@ -43,7 +43,9 @@ void format(void)
exit(2);
}
+#ifdef USE_PKCS11_ENGINE
static const char *key_pass;
+#endif
static BIO *wb;
static char *cert_dst;
static bool verbose;
@@ -135,7 +137,9 @@ int main(int argc, char **argv)
if (verbose_env && strchr(verbose_env, '1'))
verbose = true;
- key_pass = getenv("KBUILD_SIGN_PIN");
+#ifdef USE_PKCS11_ENGINE
+ key_pass = getenv("KBUILD_SIGN_PIN");
+#endif
if (argc != 3)
format();
---
base-commit: d2a43e7f89da55d6f0f96aaadaa243f35557291e
change-id: 20260325-certs-extract-cert-key_pass-unused-but-set-global-23007ecfadf9
Best regards,
--
Nathan Chancellor <nathan@kernel.org>
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-03-26 1:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-26 1:19 [PATCH] extract-cert: Wrap key_pass with '#ifdef USE_PKCS11_ENGINE' Nathan Chancellor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox