On non-UEFI platforms, handle restrict_link_by_ca failures differently.

Certificates which do not satisfy CA restrictions on non-UEFI platforms
are ignored.

Signed-off-by: Nayna Jain <na...@linux.ibm.com>
Reviewed-and-tested-by: Mimi Zohar <zo...@linux.ibm.com>
---
 security/integrity/platform_certs/machine_keyring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/security/integrity/platform_certs/machine_keyring.c 
b/security/integrity/platform_certs/machine_keyring.c
index 7aaed7950b6e..389a6e7c9245 100644
--- a/security/integrity/platform_certs/machine_keyring.c
+++ b/security/integrity/platform_certs/machine_keyring.c
@@ -36,7 +36,7 @@ void __init add_to_machine_keyring(const char *source, const 
void *data, size_t
         * If the restriction check does not pass and the platform keyring
         * is configured, try to add it into that keyring instead.
         */
-       if (rc && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING))
+       if (rc && efi_enabled(EFI_BOOT) && 
IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING))
                rc = integrity_load_cert(INTEGRITY_KEYRING_PLATFORM, source,
                                         data, len, perm);
 
-- 
2.31.1

Reply via email to