From cc93c5a84917bef49bcc677c93fc8a449f745979 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Wed, 4 Mar 2020 12:58:41 +0100 Subject: [PATCH] efi: Print more debug info in our module loader The function that searches the mods section base address does not have any debug information. Add some debugging outputs that could be useful. Signed-off-by: Peter Jones Signed-off-by: Javier Martinez Canillas Reviewed-by: Daniel Kiper --- grub-core/kern/efi/efi.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c index 6e1ceb905..3a708ed72 100644 --- a/grub-core/kern/efi/efi.c +++ b/grub-core/kern/efi/efi.c @@ -308,13 +308,23 @@ grub_efi_modules_addr (void) } if (i == coff_header->num_sections) - return 0; + { + grub_dprintf("sections", "section %d is last section; invalid.\n", i); + return 0; + } info = (struct grub_module_info *) ((char *) image->image_base + section->virtual_address); - if (info->magic != GRUB_MODULE_MAGIC) - return 0; + if (section->name[0] != '.' && info->magic != GRUB_MODULE_MAGIC) + { + grub_dprintf("sections", + "section %d has bad magic %08x, should be %08x\n", + i, info->magic, GRUB_MODULE_MAGIC); + return 0; + } + grub_dprintf("sections", "returning section info for section %d: \"%s\"\n", + i, section->name); return (grub_addr_t) info; }