From: Ard Biesheuvel Date: Sun, 16 Feb 2020 18:46:25 +0000 (+0100) Subject: integrity: Check properly whether EFI GetVariable() is available X-Git-Tag: v5.10.7~2527^2~36^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b75d54d5258ccd655387a00bbe1b00f92f4d965;p=platform%2Fkernel%2Flinux-rpi.git integrity: Check properly whether EFI GetVariable() is available Testing the value of the efi.get_variable function pointer is not the right way to establish whether the platform supports EFI variables at runtime. Instead, use the newly added granular check that can test for the presence of each EFI runtime service individually. Acked-by: Serge Hallyn Signed-off-by: Ard Biesheuvel --- diff --git a/security/integrity/platform_certs/load_uefi.c b/security/integrity/platform_certs/load_uefi.c index 111898aad56e..e2fe1bd3abb9 100644 --- a/security/integrity/platform_certs/load_uefi.c +++ b/security/integrity/platform_certs/load_uefi.c @@ -76,7 +76,7 @@ static int __init load_uefi_certs(void) unsigned long dbsize = 0, dbxsize = 0, moksize = 0; int rc = 0; - if (!efi.get_variable) + if (!efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE)) return false; /* Get db, MokListRT, and dbx. They might not exist, so it isn't