From: Yu Watanabe Date: Wed, 15 May 2024 21:08:27 +0000 (+0900) Subject: pe-binary: .initrd section is optional for UKI X-Git-Tag: v256-rc3~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e93331605e6b6a919121fd957a852431b0b8a19;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/shared/pe-binary.c b/src/shared/pe-binary.c index 4c05323d951..997e0e49a61 100644 --- a/src/shared/pe-binary.c +++ b/src/shared/pe-binary.c @@ -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"); }