grub2/0014-arm64-set-correct-length-of-device-path-end-entry.patch

44 lines
1.5 KiB
Diff

From f493e0d352e1e8ff8cbafee69878d00487a04808 Mon Sep 17 00:00:00 2001
From: Leif Lindholm <leif.lindholm@linaro.org>
Date: Tue, 7 Jan 2014 17:52:50 +0000
Subject: [PATCH 014/140] arm64: set correct length of device path end entry
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 | 4 ++++
grub-core/loader/arm64/linux.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 0b9fa05..4ec5517 100644
--- 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
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
index 9d15aad..75ad871 100644
--- a/grub-core/loader/arm64/linux.c
+++ b/grub-core/loader/arm64/linux.c
@@ -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,
--
1.9.3