arm64: set correct length of device path end entry
authorLeif Lindholm <leif.lindholm@linaro.org>
Tue, 7 Jan 2014 17:52:50 +0000 (17:52 +0000)
committerLeif Lindholm <leif.lindholm@linaro.org>
Tue, 7 Jan 2014 17:52:50 +0000 (17:52 +0000)
The length of the Device Path End entry in the grub_linux_boot()
function was incorrectly set to 0. This triggers an assert failure
in debug builds of Tianocore.

Set it to sizeof (grub_efi_device_path_t).

ChangeLog
grub-core/loader/arm64/linux.c

index 0b9fa05..4ec5517 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-01-07  Leif Lindholm <leif.lindholm@linaro.org>
+
+       * grub-core/loader/arm64/linux.c: correctly set device path end length.
+
 2014-01-07  Andrey Borzenkov <arvidjaar@gmail.com>
 
        * util/grub-install.c: Use bootaa64.efi instead of bootaarch64.efi on
index 9d15aad..75ad871 100644 (file)
@@ -268,7 +268,7 @@ grub_linux_boot (void)
 
   mempath[1].header.type = GRUB_EFI_END_DEVICE_PATH_TYPE;
   mempath[1].header.subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
-  mempath[1].header.length = 0;
+  mempath[1].header.length = sizeof (grub_efi_device_path_t);
 
   b = grub_efi_system_table->boot_services;
   status = b->load_image (0, grub_efi_image_handle,