From 38854336c230963f4c9a72c2ee73dc5e3df9bdca Mon Sep 17 00:00:00 2001 From: Leif Lindholm Date: Thu, 21 Feb 2019 10:15:08 +0000 Subject: [PATCH] arm64/efi: Fix grub_efi_get_ram_base() grub_efi_get_ram_base() looks for the lowest available RAM address by traversing the memory map, comparing lowest address found so far. Due to a brain glitch, that "so far" was initialized to GRUB_UINT_MAX - completely preventing boot on systems without RAM below 4GB. Change the initial value to GRUB_EFI_MAX_USABLE_ADDRESS, as originally intended. Reported-by: Steve McIntyre <93sam@debian.org> Signed-off-by: Leif Lindholm Tested-by: Steve McIntyre <93sam@debian.org> Reviewed-by: Daniel Kiper --- grub-core/kern/efi/mm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c index b7a9f34dd..671b1bf4d 100644 --- a/grub-core/kern/efi/mm.c +++ b/grub-core/kern/efi/mm.c @@ -685,7 +685,7 @@ grub_efi_get_ram_base(grub_addr_t *base_addr) if (ret < 1) return GRUB_ERR_BUG; - for (desc = memory_map, *base_addr = GRUB_UINT_MAX; + for (desc = memory_map, *base_addr = GRUB_EFI_MAX_USABLE_ADDRESS; (grub_addr_t) desc < ((grub_addr_t) memory_map + memory_map_size); desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size)) if (desc->attribute & GRUB_EFI_MEMORY_WB)