u-boot/lib/efi_loader
Masami Hiramatsu 5d49b32f0a efi_loader: capsule: Record capsule result only if capsule is read
Record capsule update result only if the capsule file is
successfully read, because the capsule GUID is not sure when
the file can not be read or the file is not a capsule.
Without this fix, if user puts a dummy (non-capsule) file
under (ESP)EFI/UpdateCapsule, U-Boot causes a synchronous
abort.

This also fixes use-after-free bug of the 'capsule' variable.

Fixes: c74cd8bd08 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2021-11-20 10:53:00 +01: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: add UEFI GPT measurement 2021-10-26 21:32:46 +02:00
efi_capsule.c efi_loader: capsule: Record capsule result only if capsule is read 2021-11-20 10:53:00 +01:00
efi_console.c efi_loader: missing parentheses in query_console_size 2021-07-02 09:37:01 +02:00
efi_device_path_to_text.c efi_loader: use EfiBootServicesData for DP to text 2021-08-17 17:24:08 +02: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 UEFI GPT measurement 2021-10-26 21:32:46 +02:00
efi_disk.c efi_loader: Drop code that doesn't work with driver model 2021-10-21 03:46:03 +02: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: provide file attributes in EFI_FILE_PROTOCOL.Read() 2021-07-12 20:30:48 +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 efi_loader: GOP: Fix 30bpp block transfer support 2021-10-09 18:50:31 +02:00
efi_helper.c efi_loader: efi_dp_from_lo() should skip VenMedia node 2021-10-21 03:46:04 +02: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: Fix loaded image alignment 2021-10-21 03:46:04 +02:00
efi_load_initrd.c efi_loader: avoid multiple local copies of lf2_initrd_guid 2021-10-21 03:46:04 +02:00
efi_load_options.c efi_loader: move load options to new module 2021-01-19 18:56:08 +01:00
efi_memory.c efi_loader: Fix loaded image alignment 2021-10-21 03:46:04 +02: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_loader: clear OsIndications 2021-07-02 09:37:01 +02:00
efi_signature.c efi_loader: simplify efi_sigstore_parse_sigdb() 2021-10-25 21:13:07 +02:00
efi_smbios.c efi_loader: add SMBIOS table measurement 2021-10-26 17:58:14 +02: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: Reduce efi_tcg2 logging statement 2021-11-20 10:53:00 +01: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: function to get GUID for variable name 2021-10-25 21:13:06 +02:00
efi_var_file.c efi_loader: don't load Shim's MOK database from file 2021-10-21 03:46:04 +02:00
efi_var_mem.c efi_loader: treat UEFI variable name as const 2021-10-25 21:13:06 +02: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: treat UEFI variable name as const 2021-10-25 21:13:06 +02:00
efi_variable.c efi_loader: treat UEFI variable name as const 2021-10-25 21:13:06 +02:00
efi_watchdog.c efi_loader: simplify efi_watchdog_timer_notify() 2021-09-11 11:02:02 +02:00
helloworld.c efi_loader: typo 'devide path' 2021-03-31 06:34:33 +00:00
Kconfig efi: Create a 64-bit app 2021-11-07 18:36:55 +01:00
Makefile Revert "efi_capsule: Move signature from DTB to .rodata" 2021-09-18 03:47:50 -06:00