efi_loader: Don't warn if the TCG2 FinalEvents table is not installed
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Thu, 28 Nov 2024 07:11:20 +0000 (09:11 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 5 Jan 2025 01:30:48 +0000 (02:30 +0100)
When the TCG2 protocol installation fails, we are trying to remove
all the objects we created in tcg2_uninit().

However, there are cases when this function runs before the config
table was installed. So instead of printing an error unconditionally
check against EFI_NOT_FOUND and don't print anything if the table wasn't
installed to begin with.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
lib/efi_loader/efi_tcg2.c

index 572c6b5..a15c731 100644 (file)
@@ -791,7 +791,7 @@ static void tcg2_uninit(void)
        efi_status_t ret;
 
        ret = efi_install_configuration_table(&efi_guid_final_events, NULL);
-       if (ret != EFI_SUCCESS)
+       if (ret != EFI_SUCCESS && ret != EFI_NOT_FOUND)
                log_err("Failed to delete final events config table\n");
 
        efi_free_pool(event_log.buffer);