From: Arnd Bergmann <a...@arndb.de>

When CONFIG_SYSTEM_BLACKLIST_KEYRING and CONFIG_INTEGRITY_PLATFORM_KEYRING
are both enabled, the system blacklist tries calling the
pkcs7_validate_trust() function, causing a link failure if the driver
that defines it is disabled or a loadable module:

ld.lld: error: undefined symbol: pkcs7_validate_trust
>>> referenced by blacklist.c
>>>               blacklist.o:(is_key_on_revocation_list) in archive 
>>> certs/built-in.a

Add a Kconfig 'select' statement for this specific case that force-
enables the pkcs7 code as well.

Fixes: 30fdba3f40fd ("certs: Add EFI_CERT_X509_GUID support for dbx entries")
Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 certs/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/certs/Kconfig b/certs/Kconfig
index 379a6e198459..21192bb25c79 100644
--- a/certs/Kconfig
+++ b/certs/Kconfig
@@ -68,6 +68,7 @@ config SECONDARY_TRUSTED_KEYRING
 config SYSTEM_BLACKLIST_KEYRING
        bool "Provide system-wide ring of blacklisted keys"
        depends on KEYS
+       select PKCS7_MESSAGE_PARSER if INTEGRITY_PLATFORM_KEYRING
        help
          Provide a system keyring to which blacklisted keys can be added.
          Keys in the keyring are considered entirely untrusted.  Keys in this
-- 
2.29.2

Reply via email to