forked from pool/grub2
Accepting request 1142177 from home:michael-chang:bsc:1218783
- Remove magic number header field check on arm64 (bsc#1218783) * 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch OBS-URL: https://build.opensuse.org/request/show/1142177 OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=484
This commit is contained in:
parent
d203d36f81
commit
f01516939b
@ -0,0 +1,43 @@
|
||||
From d683bed5c76c54e6bc5c26eef2f8d7136a3c75c4 Mon Sep 17 00:00:00 2001
|
||||
From: Ard Biesheuvel <ardb@kernel.org>
|
||||
Date: Thu, 11 Aug 2022 16:51:57 +0200
|
||||
Subject: [PATCH] loader/arm64/efi/linux: Remove magic number header field
|
||||
check
|
||||
|
||||
The "ARM\x64" magic number in the file header identifies an image as one
|
||||
that implements the bare metal boot protocol, allowing the loader to
|
||||
simply move the file to a suitably aligned address in memory, with
|
||||
sufficient headroom for the trailing .bss segment (the required memory
|
||||
size is described in the header as well).
|
||||
|
||||
Note of this matters for GRUB, as it only supports EFI boot. EFI does
|
||||
not care about this magic number, and nor should GRUB: this prevents us
|
||||
from booting other PE linux images, such as the generic EFI zboot
|
||||
decompressor, which is a pure PE/COFF image, and does not implement the
|
||||
bare metal boot protocol.
|
||||
|
||||
So drop the magic number check.
|
||||
|
||||
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
||||
---
|
||||
grub-core/loader/arm64/efi/linux.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/grub-core/loader/arm64/efi/linux.c b/grub-core/loader/arm64/efi/linux.c
|
||||
index 33df0e1fd..a9f5e05e4 100644
|
||||
--- a/grub-core/loader/arm64/efi/linux.c
|
||||
+++ b/grub-core/loader/arm64/efi/linux.c
|
||||
@@ -57,9 +57,6 @@ static grub_addr_t initrd_end;
|
||||
static grub_err_t
|
||||
grub_arch_efi_linux_check_image (struct linux_arch_kernel_header * lh)
|
||||
{
|
||||
- if (lh->magic != GRUB_LINUX_ARMXX_MAGIC_SIGNATURE)
|
||||
- return grub_error(GRUB_ERR_BAD_OS, "invalid magic number");
|
||||
-
|
||||
if ((lh->code0 & 0xffff) != GRUB_PE32_MAGIC)
|
||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||
N_("plain image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled"));
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 29 06:24:11 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||
|
||||
- Remove magic number header field check on arm64 (bsc#1218783)
|
||||
* 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 23 04:56:58 UTC 2024 - Michael Chang <mchang@suse.com>
|
||||
|
||||
|
@ -388,6 +388,7 @@ Patch195: 0004-Key-revocation-on-out-of-bound-file-access.patch
|
||||
# Workaround for 2.12 tarball
|
||||
Patch196: fix_no_extra_deps_in_release_tarball.patch
|
||||
Patch197: 0001-fs-xfs-always-verify-the-total-number-of-entries-is-.patch
|
||||
Patch198: 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch
|
||||
|
||||
Requires: gettext-runtime
|
||||
%if 0%{?suse_version} >= 1140
|
||||
|
Loading…
Reference in New Issue
Block a user