mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-04-29 22:57:54 -04:00
loader/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> Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
This commit is contained in:
parent
e2e760c1a2
commit
846cbabeee
@ -64,8 +64,6 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
|
|||||||
grub_err_t
|
grub_err_t
|
||||||
grub_arch_efi_linux_check_image (struct linux_arch_kernel_header * lh)
|
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)
|
if ((lh->code0 & 0xffff) != GRUB_PE32_MAGIC)
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user