grub2/0215-Only-attempt-to-scan-different-BLS-directories-on-EF.patch
Peter Jones 448fa56b6a Various bugfixes
- Make the release be 37 since 36 is the last one we actually built
- Squash down the changelog for that as well
- Fix some TPM errors on 32-bit (hdegoede)
- More fixups to avoid compiler changes (pjones)
- Put lsmmap into the EFI builds (pjones)
  Related: rhbz#1572126

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-06-19 10:39:51 -04:00

50 lines
1.7 KiB
Diff

From 5f0417c63a4dd2252a5a801568f4369ac74a47e6 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Tue, 3 Apr 2018 15:42:47 +0200
Subject: [PATCH 215/246] Only attempt to scan different BLS directories on EFI
machines
Current BLS support attempted to scan for BLS directories, but this only
makes sense on EFI, where BLS fragments are in /loader/$vendor/entries.
For BIOS, only either the default /loader/entries path should be scanned
or the BLS directory defined in the blsdir GRUB 2 environment variable.
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
grub-core/commands/blscfg.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c
index e5617c3bc6c..c0973ff83ea 100644
--- a/grub-core/commands/blscfg.c
+++ b/grub-core/commands/blscfg.c
@@ -676,8 +676,8 @@ static int find_entry (const char *filename,
const char *devid = grub_env_get ("boot");
grub_dprintf("blscfg", "%s got here\n", __func__);
- if (!grub_strcmp (filename, ".") ||
- !grub_strcmp (filename, ".."))
+ if (filename && (!grub_strcmp (filename, ".") ||
+ !grub_strcmp (filename, "..")))
return 0;
if (info->platform == PLATFORM_EFI && !grub_strcasecmp (filename, "boot"))
@@ -872,11 +872,10 @@ grub_cmd_blscfg (grub_extcmd_context_t ctxt UNUSED,
info.platform = PLATFORM_EMU;
grub_dprintf ("blscfg", "scanning %s%s\n", GRUB_BOOT_DEVICE,
GRUB_BLS_CONFIG_PATH);
- r = fs->dir (dev, "/boot/loader/",
- find_entry, &info);
+ find_entry(NULL, NULL, &info);
#else
grub_dprintf ("blscfg", "scanning %s\n", GRUB_BLS_CONFIG_PATH);
- r = fs->dir (dev, "/", find_entry, &info);
+ find_entry(NULL, NULL, &info);
#endif
finish:
--
2.17.1