[PATCH v2] unit: Add better check for pkcs8_key_parser availability
Bastien Nocera <[email protected]> Thu, 19 Feb 2026 12:20:01 +0100
| Newsgroups | dev.linux.lists.iwd |
|---|---|
| Message-ID | <[email protected]> |
Check whether the pkcs8_key_parser kernel module is available (whether
built-in or as a module) before announcing that we support PKCS#8.
---
Changes since v1:
- Fix missing #include
unit/test-eapol.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/unit/test-eapol.c b/unit/test-eapol.c
index 58f3e054a5ae..2ffc3e700108 100644
--- a/unit/test-eapol.c
+++ b/unit/test-eapol.c
@@ -27,6 +27,7 @@
#include <stdio.h>
#include <string.h>
#include <assert.h>
+#include <sys/stat.h>
#include <linux/if_ether.h>
#include <ell/ell.h>
@@ -3923,6 +3924,16 @@ static bool aes_precheck(const void *data)
static bool pkcs8_precheck(const void *data)
{
+ struct stat s;
+
+ /* Despite the path, this directory exists whether the module
+ * is external or built-in. */
+ if (stat ("/sys/module/pkcs8_key_parser", &s) != 0)
+ return false;
+
+ if (!S_ISDIR (s.st_mode))
+ return false;
+
return (IS_ENABLED(HAVE_PKCS8_SUPPORT) &&
l_cipher_is_supported(L_CIPHER_AES) &&
l_cipher_is_supported(L_CIPHER_AES_CBC) &&
--
2.53.0