From c802cb2f8048c3a1a10912eac10b68b062473f39 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 26 Jun 2024 10:37:29 +0200 Subject: [PATCH] stub: move initialization of kernel iovec to the end, where it's used --- src/boot/efi/stub.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c index 8947f3aabfd..4745556b020 100644 --- a/src/boot/efi/stub.c +++ b/src/boot/efi/stub.c @@ -945,11 +945,6 @@ static EFI_STATUS run(EFI_HANDLE image) { (void) efivar_set_uint_string(MAKE_GUID_PTR(LOADER), u"StubPcrInitRDConfExts", TPM2_PCR_KERNEL_CONFIG, 0); generate_embedded_initrds(loaded_image, sections, initrds); - - struct iovec kernel = IOVEC_MAKE( - (const uint8_t*) loaded_image->ImageBase + sections[UNIFIED_SECTION_LINUX].memory_offset, - sections[UNIFIED_SECTION_LINUX].size); - lookup_embedded_initrds(loaded_image, sections, initrds); _cleanup_pages_ Pages initrd_pages = {}; @@ -968,6 +963,10 @@ static EFI_STATUS run(EFI_HANDLE image) { } else final_initrd = initrds[INITRD_BASE]; + struct iovec kernel = IOVEC_MAKE( + (const uint8_t*) loaded_image->ImageBase + sections[UNIFIED_SECTION_LINUX].memory_offset, + sections[UNIFIED_SECTION_LINUX].size); + err = linux_exec(image, cmdline, kernel.iov_base, kernel.iov_len, final_initrd.iov_base, final_initrd.iov_len); -- 2.47.3