pe-binary: .initrd section is optional for UKI

.osrel is also optional, but sd-boot and bootctl requires it.
So, let's keep .osrel section at least now.

Fixes #32774.
This commit is contained in:
Yu Watanabe
2024-05-16 12:56:22 +02:00
committed by Zbigniew Jędrzejewski-Szmek
parent b3aa88a475
commit 2e93331605
+3 -2
View File
@@ -234,8 +234,9 @@ bool pe_is_uki(const PeHeader *pe_header, const IMAGE_SECTION_HEADER *sections)
if (le16toh(pe_header->optional.Subsystem) != IMAGE_SUBSYSTEM_EFI_APPLICATION)
return false;
/* Note that the UKI spec only requires .linux, but we are stricter here, and require .osrel too,
* since for sd-boot it just doesn't make sense to not have that. */
return
pe_header_find_section(pe_header, sections, ".osrel") &&
pe_header_find_section(pe_header, sections, ".linux") &&
pe_header_find_section(pe_header, sections, ".initrd");
pe_header_find_section(pe_header, sections, ".linux");
}