summaryrefslogtreecommitdiffstats
path: root/src/image/efi_image.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/image/efi_image.c')
-rw-r--r--src/image/efi_image.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/image/efi_image.c b/src/image/efi_image.c
index 51805c9b..02ff8b2f 100644
--- a/src/image/efi_image.c
+++ b/src/image/efi_image.c
@@ -209,6 +209,13 @@ static int efi_image_exec ( struct image *image ) {
goto err_open_protocol;
}
+ /* Some EFI 1.10 implementations seem not to fill in DeviceHandle */
+ if ( loaded.image->DeviceHandle == NULL ) {
+ DBGC ( image, "EFIIMAGE %p filling in missing DeviceHandle\n",
+ image );
+ loaded.image->DeviceHandle = snpdev->handle;
+ }
+
/* Sanity checks */
assert ( loaded.image->ParentHandle == efi_image_handle );
assert ( loaded.image->DeviceHandle == snpdev->handle );