u-boot-brain/lib/efi_loader
Ilias Apalodimas 2052759a5e efi_loader: Don't stop EFI subsystem init if installing TCG2 fails
Up to now we are stopping the EFI subsystem if a TPMv2 exists but the
protocol fails to install.  Now that we've switched the config to 'default
y' the sandbox TPM fails, since it doesn't support all the required
capabilities of the protocol.

Not installing the protocol is not catastrophic.  If the protocol fails
to install the PCRs will never be extended to the expected values, so
some other entity later in the boot flow will eventually figure it out
and take the necessary actions.

While at it fix a corner case were the user can see an invalid error
message when the protocol failed to install.  We do have a tcg2_uninit()
which we call when the protocol installation fails.  There are cases though
that this might be called before the configuration table is installed (e.g
probing the TPM for capabilities failed).  In that case the user will see
"Failed to delete final events config table".  So stop printing it since it's
not an actual failure , simply because the config table was never installed
in the first place.

In order to stop printing it make efi_init_event_log() and create_final_event()
cleanup themselves and only call tcg2_uninit() when the protocol installation
fails.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-05-18 12:36:13 +02:00
..
.gitignore efi_loader: git ignore helloworld_efi.S 2020-01-07 18:08:20 +01:00
efi_acpi.c efi_loader: ACPI tables must be in EfiACPIReclaimMemory 2021-02-26 16:17:43 +01:00
efi_bootmgr.c efi_loader: Cleanup get_var duplication 2021-04-10 12:00:24 +02:00
efi_boottime.c efi_loader: Clean up file size calculations 2021-03-25 21:03:51 +01:00
efi_capsule.c efi_loader: capsule: return a correct error code at find_boot_device() 2021-04-24 06:53:40 +02:00
efi_console.c efi_loader: NULL dereference in EFI console 2021-03-25 20:08:57 +01:00
efi_device_path_to_text.c efi_loader: Uart device path missing break 2021-03-31 06:22:22 +00:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_device_path.c efi_loader: Add device path related functions for initrd via Boot#### 2021-03-25 20:14:25 +01:00
efi_disk.c Allow last block to be read 2021-02-21 09:21:35 +01:00
efi_dt_fixup.c efi_loader: fix memory type for memory reservation block 2021-03-25 20:07:18 +01:00
efi_esrt.c efi_loader: esrt: Remove incorrect invocations of EFI_CALL macro 2021-04-17 20:01:31 +02:00
efi_file.c efi_loader: loosen buffer parameter check in efi_file_read_int 2021-05-18 12:36:12 +02:00
efi_firmware.c efi_loader: capsule: Remove the check for capsule_authentication_enabled environment variable 2021-05-18 12:36:12 +02:00
efi_freestanding.c efi_loader: fix freestanding memmove() 2020-03-22 11:06:23 +01:00
efi_gop.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_helper.c efi_loader: Add helper functions for EFI 2021-03-25 20:14:25 +01:00
efi_hii_config.c efi_loader: remove EFI_HII_CONFIG_ROUTING_PROTOCOL 2020-12-10 09:15:32 +01:00
efi_hii.c efi_loader: ListPackageLists() return EFI_NOT_FOUND 2019-06-20 22:26:19 +00:00
efi_image_loader.c efi_loader: don't load beyond VirtualSize 2021-02-14 10:34:15 +01:00
efi_load_initrd.c efi_loader: Replace config option for initrd loading 2021-03-25 20:14:26 +01:00
efi_load_options.c efi_loader: move load options to new module 2021-01-19 18:56:08 +01:00
efi_memory.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_net.c efi_loader: fix use after free in receive path 2020-10-19 22:59:53 +02:00
efi_rng.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_root_node.c efi_loader: remove EFI_UNICODE_COLLATION_PROTOCOL 2021-01-20 08:17:17 +01:00
efi_runtime.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_setup.c efi: Add ESRT to the EFI system table 2021-03-25 20:19:19 +01:00
efi_signature.c efi: capsule: Add support for uefi capsule authentication 2020-12-31 14:41:31 +01:00
efi_smbios.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
efi_string.c efi_loader: missing include in efi_string.c 2021-04-24 06:53:40 +02:00
efi_tcg2.c efi_loader: Don't stop EFI subsystem init if installing TCG2 fails 2021-05-18 12:36:13 +02:00
efi_unicode_collation.c efi_loader: carve out utf_to_cp() 2021-03-07 17:37:13 +01:00
efi_var_common.c efi_loader: Add helper functions for EFI 2021-03-25 20:14:25 +01:00
efi_var_file.c efi_loader: Enable run-time variable support for tee based variables 2020-08-01 11:57:41 +02:00
efi_var_mem.c efi_loader: Avoid emitting efi_var_buf to .GOT 2021-01-20 08:17:17 +01:00
efi_var_seed.S efi_loader: pre-seed UEFI variables 2020-07-16 12:37:02 +02:00
efi_variable_tee.c efi_loader: Avoid emitting efi_var_buf to .GOT 2021-01-20 08:17:17 +01:00
efi_variable.c efi_loader: Make the pkcs7 header parsing function an extern 2020-12-31 14:41:31 +01:00
efi_watchdog.c efi_loader: function descriptions efi_watchdog.c 2020-04-16 08:10:02 +02:00
helloworld.c efi_loader: typo 'devide path' 2021-03-31 06:34:33 +00:00
Kconfig efi_loader: Kconfig: Select IMAGE_SIGN_INFO when capsule authentication is enabled 2021-04-10 12:00:24 +02:00
Makefile efi: Add ESRT to the EFI system table 2021-03-25 20:19:19 +01:00