1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-07 17:17:44 +03:00

Use case insensitive comparison for the machine's architechture

boot loader specification states:

architecture: refers to the architecture this entry is for. The argument
should be an architecture identifier, using the architecture vocabulary
defined by the EFI specification (i.e. IA32, x64, IA64, ARM, AA64, …).
If specified and it does not match the local system architecture this
entry should be hidden. The comparison should be done case-insensitively.

Example: architecture aa64

https://uapi-group.org/specifications/specs/boot_loader_specification/#type-1-boot-loader-entry-keys
(cherry picked from commit f819a516dbbddb16724f33dcef5badcb6fe8b80b)
(cherry picked from commit d65b7426e93e50c470173614c2eaca094f318ab5)
(cherry picked from commit 129c30beb6)
This commit is contained in:
Daniel Martinez 2024-10-05 23:39:43 -04:00 committed by Luca Boccassi
parent 43202f551a
commit a4577e361b

View File

@ -1485,7 +1485,7 @@ static void config_entry_add_type1(
if (streq8(key, "architecture")) {
/* do not add an entry for an EFI image of architecture not matching with that of the image */
if (!streq8(value, EFI_MACHINE_TYPE_NAME)) {
if (!strcaseeq8(value, EFI_MACHINE_TYPE_NAME)) {
entry->type = LOADER_UNDEFINED;
break;
}