mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-24 14:32:58 +00:00
da63b36ca7
- Rebase to current master - Fix pmtimer calibration to not take forever to fail on kvm. Signed-off-by: Peter Jones <pjones@redhat.com>
45 lines
1.5 KiB
Diff
45 lines
1.5 KiB
Diff
From 3d8df86d825ff07a8eeb202329b8731fd1a4a24e Mon Sep 17 00:00:00 2001
|
|
From: Eric Snowberg <eric.snowberg@oracle.com>
|
|
Date: Mon, 13 Nov 2017 08:27:28 -0800
|
|
Subject: [PATCH 090/225] ls: prevent double open
|
|
|
|
Prevent a double open. This can cause problems with some ieee1275
|
|
devices, causing the system to hang. The double open can occur
|
|
as follows:
|
|
|
|
grub_ls_list_files (char *dirname, int longlist, int all, int human)
|
|
dev = grub_device_open (device_name);
|
|
dev remains open while:
|
|
grub_normal_print_device_info (device_name);
|
|
dev = grub_device_open (name);
|
|
|
|
Signed-off-by: Eric Snowberg <eric.snowberg@oracle.com>
|
|
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
---
|
|
grub-core/commands/ls.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/grub-core/commands/ls.c b/grub-core/commands/ls.c
|
|
index 0eaf83652..c25161cc4 100644
|
|
--- a/grub-core/commands/ls.c
|
|
+++ b/grub-core/commands/ls.c
|
|
@@ -201,6 +201,15 @@ grub_ls_list_files (char *dirname, int longlist, int all, int human)
|
|
if (grub_errno == GRUB_ERR_UNKNOWN_FS)
|
|
grub_errno = GRUB_ERR_NONE;
|
|
|
|
+#ifdef GRUB_MACHINE_IEEE1275
|
|
+ /*
|
|
+ * Close device to prevent a double open in grub_normal_print_device_info().
|
|
+ * Otherwise it may lead to hangs on some IEEE 1275 platforms.
|
|
+ */
|
|
+ grub_device_close (dev);
|
|
+ dev = NULL;
|
|
+#endif
|
|
+
|
|
grub_normal_print_device_info (device_name);
|
|
}
|
|
else if (fs)
|
|
--
|
|
2.14.3
|
|
|