Blame SOURCES/0272-loader-arm64-linux-Remove-magic-number-header-field-.patch

fd0330
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
fd0330
From: Ard Biesheuvel <ardb@kernel.org>
fd0330
Date: Thu, 11 Aug 2022 16:51:57 +0200
fd0330
Subject: [PATCH] loader/arm64/linux: Remove magic number header field check
fd0330
fd0330
The "ARM\x64" magic number in the file header identifies an image as one
fd0330
that implements the bare metal boot protocol, allowing the loader to
fd0330
simply move the file to a suitably aligned address in memory, with
fd0330
sufficient headroom for the trailing .bss segment (the required memory
fd0330
size is described in the header as well).
fd0330
fd0330
Note of this matters for GRUB, as it only supports EFI boot. EFI does
fd0330
not care about this magic number, and nor should GRUB: this prevents us
fd0330
from booting other PE linux images, such as the generic EFI zboot
fd0330
decompressor, which is a pure PE/COFF image, and does not implement the
fd0330
bare metal boot protocol.
fd0330
fd0330
So drop the magic number check.
fd0330
fd0330
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
fd0330
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
fd0330
Resolves: rhbz#2125069
fd0330
Signed-off-by: Jeremy Linton <jlinton@redhat.com>
fd0330
(cherry-picked from commit 69edb31205602c29293a8c6e67363bba2a4a1e66)
fd0330
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
fd0330
---
fd0330
 grub-core/loader/arm64/linux.c | 3 ---
fd0330
 1 file changed, 3 deletions(-)
fd0330
fd0330
diff --git a/grub-core/loader/arm64/linux.c b/grub-core/loader/arm64/linux.c
fd0330
index de85583487..489d0c7173 100644
fd0330
--- a/grub-core/loader/arm64/linux.c
fd0330
+++ b/grub-core/loader/arm64/linux.c
fd0330
@@ -55,9 +55,6 @@ static grub_addr_t initrd_end;
fd0330
 grub_err_t
fd0330
 grub_arch_efi_linux_check_image (struct linux_arch_kernel_header * lh)
fd0330
 {
fd0330
-  if (lh->magic != GRUB_LINUX_ARMXX_MAGIC_SIGNATURE)
fd0330
-    return grub_error(GRUB_ERR_BAD_OS, "invalid magic number");
fd0330
-
fd0330
   if ((lh->code0 & 0xffff) != GRUB_DOS_MAGIC)
fd0330
     return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
fd0330
 		       N_("plain image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled"));