[PATCH 2/2] blsuki: search default location on XBOOTLDR partition, even if entries found on ESP
Radoslav Kolev via Grub-devel <[email protected]> Fri, 12 Dec 2025 11:00:50 +0200
| Newsgroups | org.gnu.grub-devel |
|---|---|
| Message-ID | <[email protected]> |
Signed-off-by: Radoslav Kolev <[email protected]> --- grub-core/commands/blsuki.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/grub-core/commands/blsuki.c b/grub-core/commands/blsuki.c index db5ab3a5c..c7e8921d0 100644 --- a/grub-core/commands/blsuki.c +++ b/grub-core/commands/blsuki.c @@ -106,6 +106,7 @@ struct read_entry_info const char *dirname; enum blsuki_cmd_type cmd_type; grub_file_t file; + bool entry_found; }; struct find_entry_info @@ -635,7 +636,10 @@ blsuki_read_entry (const char *filename, #endif if (err == GRUB_ERR_NONE) - blsuki_add_entry (entry); + { + blsuki_add_entry (entry); + info->entry_found = true; + } else grub_free (entry); @@ -1200,6 +1204,7 @@ blsuki_find_entry (struct find_entry_info *info, bool enable_fallback, enum blsu dir_fs = info->fs; read_entry_info.devid = info->devid; read_entry_info.cmd_type = cmd_type; + read_entry_info.entry_found = false; r = dir_fs->fs_dir (dir_dev, read_entry_info.dirname, blsuki_read_entry, &read_entry_info); @@ -1215,7 +1220,7 @@ blsuki_find_entry (struct find_entry_info *info, bool enable_fallback, enum blsu * can find the files there. If we can't find UKI entries, fallback to * "/EFI/Linux" on the EFI system partition. */ - if (entries == NULL && fallback == false && enable_fallback == true) + if ( read_entry_info.entry_found == false && fallback == false && enable_fallback == true) { if (cmd_type == BLSUKI_BLS_CMD) cmd_dir = GRUB_BLS_CONFIG_PATH; -- 2.51.1 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel