From: Lennart Poettering Date: Wed, 26 Jun 2024 08:37:29 +0000 (+0200) Subject: stub: move initialization of kernel iovec to the end, where it's used X-Git-Tag: v257-rc1~1041^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c802cb2f8048c3a1a10912eac10b68b062473f39;p=thirdparty%2Fsystemd.git stub: move initialization of kernel iovec to the end, where it's used --- 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);