grub2/0100-Add-some-grub_dprintf-in-the-linuxefi-path.patch
Peter Jones 77d0810cf0 Fix tftp filename mangling and secure boot dmesg error.
Fix tftp filename mangling to not reuse the wrong variable
  Resolves: rhbz#1405208
Make grub2 initialize the kernel's boot_params structure correctly so the
  upstream SB code doesn't throw a fit.
  Resolves: rhbz#1418360
  Resolves: rhbz#1451071

Signed-off-by: Peter Jones <pjones@redhat.com>
2017-06-26 17:02:20 -04:00

88 lines
2.9 KiB
Diff

From 9fb8798e6c8a2241e157de414460f1d7dab89c00 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Mon, 9 May 2016 14:15:17 -0400
Subject: [PATCH 100/105] Add some grub_dprintf() in the linuxefi path.
Signed-off-by: Peter Jones <pjones@redhat.com>
---
grub-core/loader/efi/linux.c | 16 +++++++++++++---
grub-core/loader/i386/efi/linux.c | 10 +++++++++-
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c
index 8890bdf05..dbf63e20e 100644
--- a/grub-core/loader/efi/linux.c
+++ b/grub-core/loader/efi/linux.c
@@ -43,12 +43,22 @@ grub_linuxefi_secure_validate (void *data, grub_uint32_t size)
shim_lock = grub_efi_locate_protocol(&guid, NULL);
grub_dprintf ("secureboot", "shim_lock: %p\n", shim_lock);
if (!shim_lock)
- return 0;
+ {
+ grub_dprintf ("secureboot", "shim not available\n");
+ return 0;
+ }
- status = shim_lock->verify(data, size);
+ grub_dprintf ("secureboot", "Asking shim to verify kernel signature\n");
+ status = shim_lock->verify (data, size);
grub_dprintf ("secureboot", "shim_lock->verify(): %ld\n", status);
if (status == GRUB_EFI_SUCCESS)
- return 1;
+ {
+ grub_dprintf ("secureboot", "Kernel signature verification passed\n");
+ return 1;
+ }
+
+ grub_dprintf ("secureboot", "Kernel signature verification failed (0x%lx)\n",
+ (unsigned long) status);
return -1;
}
diff --git a/grub-core/loader/i386/efi/linux.c b/grub-core/loader/i386/efi/linux.c
index 010bf982d..a95e29700 100644
--- a/grub-core/loader/i386/efi/linux.c
+++ b/grub-core/loader/i386/efi/linux.c
@@ -114,6 +114,8 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
+ grub_dprintf ("linuxefi", "initrd_mem = %lx\n", (unsigned long) initrd_mem);
+
params->ramdisk_size = size;
params->ramdisk_image = (grub_uint32_t)(grub_uint64_t) initrd_mem;
@@ -202,6 +204,8 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
+ grub_dprintf ("linuxefi", "params = %lx\n", (unsigned long) params);
+
grub_memset (params, 0, 16384);
grub_memcpy (&lh, kernel, sizeof (lh));
@@ -239,6 +243,9 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
goto fail;
}
+ grub_dprintf ("linuxefi", "linux_cmdline = %lx\n",
+ (unsigned long)linux_cmdline);
+
grub_memcpy (linux_cmdline, LINUX_IMAGE, sizeof (LINUX_IMAGE));
grub_create_loader_cmdline (argc, argv,
linux_cmdline + sizeof (LINUX_IMAGE) - 1,
@@ -272,9 +279,10 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
grub_memcpy (params, &lh, 2 * 512);
params->type_of_loader = 0x21;
+ grub_dprintf("linuxefi", "kernel_mem: %p handover_offset: %08x\n",
+ kernel_mem, handover_offset);
fail:
-
if (file)
grub_file_close (file);
--
2.13.0