From 0abda8342748f0d2ac017f81a646265d736bdbeb Mon Sep 17 00:00:00 2001 From: Leif Lindholm Date: Mon, 25 Jun 2018 18:01:29 +0100 Subject: [PATCH] commands/file: Use definitions from arm64/linux.h Clean up code for matching IS_ARM64 slightly by making use of struct linux_arm64_kernel_header and GRUB_LINUX_ARM64_MAGIC_SIGNATURE. Signed-off-by: Leif Lindholm Reviewed-by: Daniel Kiper --- grub-core/commands/file.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/grub-core/commands/file.c b/grub-core/commands/file.c index ab0c9fb96..3ff6d5522 100644 --- a/grub-core/commands/file.c +++ b/grub-core/commands/file.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -405,13 +406,13 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args) } case IS_ARM64_LINUX: { - grub_uint32_t sig; + struct linux_arm64_kernel_header lh; - if (grub_file_seek (file, 0x38) == (grub_size_t) -1) + if (grub_file_read (file, &lh, sizeof (lh)) != sizeof (lh)) break; - if (grub_file_read (file, &sig, 4) != 4) - break; - if (sig == grub_cpu_to_le32_compile_time (0x644d5241)) + + if (lh.magic == + grub_cpu_to_le32_compile_time (GRUB_LINUX_ARM64_MAGIC_SIGNATURE)) { ret = 1; break;