mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-24 22:35:28 +00:00
77d0810cf0
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>
88 lines
2.9 KiB
Diff
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
|
|
|