summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2018-06-14 13:28:03 -0400
committerTom Rini <trini@konsulko.com>2018-06-14 13:28:03 -0400
commit9d0dc69235e8327dba5536761c768d40c4e514e5 (patch)
tree3530f43c7f2a1d1ed5480aee804b60d71cc6dd2d /cmd
parent606fddd76c7a045c09d544357806b0b4de4845c7 (diff)
parent58bc69d20aaf2e32e93e977d708fe6a1af0ad6d1 (diff)
downloadu-boot-9d0dc69235e8327dba5536761c768d40c4e514e5.tar.gz
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2018-06-14 A few minor fixes for the release: - Compile fixes - HI20 relocations for RISC-V - Fix bootefi without load path - Fix Runtime Services with certain compilers
Diffstat (limited to 'cmd')
-rw-r--r--cmd/bootefi.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 707d159bac..f55a40dc84 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -263,6 +263,7 @@ static efi_status_t do_bootefi_exec(void *efi,
{
struct efi_loaded_image loaded_image_info = {};
struct efi_object loaded_image_info_obj = {};
+ struct efi_object mem_obj = {};
struct efi_device_path *memdp = NULL;
efi_status_t ret;
@@ -279,6 +280,12 @@ static efi_status_t do_bootefi_exec(void *efi,
/* actual addresses filled in after efi_load_pe() */
memdp = efi_dp_from_mem(0, 0, 0);
device_path = image_path = memdp;
+ efi_add_handle(&mem_obj);
+
+ ret = efi_add_protocol(mem_obj.handle, &efi_guid_device_path,
+ device_path);
+ if (ret != EFI_SUCCESS)
+ goto exit;
} else {
assert(device_path && image_path);
}
@@ -343,6 +350,8 @@ static efi_status_t do_bootefi_exec(void *efi,
exit:
/* image has returned, loaded-image obj goes *poof*: */
list_del(&loaded_image_info_obj.link);
+ if (mem_obj.handle)
+ list_del(&mem_obj.link);
return ret;
}