grub2/0012-grub-core-normal-autofs.c-autoload_fs_module-Save-an.patch
Peter Jones f74b50e380 Rebase to upstream, fix a pile of bugs. The usual.
Signed-off-by: Peter Jones <pjones@redhat.com>
2013-06-12 15:37:08 -04:00

69 lines
1.8 KiB
Diff

From 1f75c529d5309defb33c8c216422003eee1248a5 Mon Sep 17 00:00:00 2001
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Date: Sun, 22 Jul 2012 16:23:46 +0200
Subject: [PATCH 012/482] * grub-core/normal/autofs.c
(autoload_fs_module): Save and restore filter state.
---
ChangeLog | 5 +++++
grub-core/normal/autofs.c | 17 +++++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 35e76af..38374a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
+ * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
+ filter state.
+
+2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
+
Fix coreboot compilation.
* grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
diff --git a/grub-core/normal/autofs.c b/grub-core/normal/autofs.c
index 0b27abf..721b9c3 100644
--- a/grub-core/normal/autofs.c
+++ b/grub-core/normal/autofs.c
@@ -32,11 +32,21 @@ static int
autoload_fs_module (void)
{
grub_named_list_t p;
+ int ret = 0;
+ grub_file_filter_t grub_file_filters_was[GRUB_FILE_FILTER_MAX];
+
+ grub_memcpy (grub_file_filters_was, grub_file_filters_enabled,
+ sizeof (grub_file_filters_enabled));
+ grub_memcpy (grub_file_filters_enabled, grub_file_filters_all,
+ sizeof (grub_file_filters_enabled));
while ((p = fs_module_list) != NULL)
{
if (! grub_dl_get (p->name) && grub_dl_load (p->name))
- return 1;
+ {
+ ret = 1;
+ break;
+ }
if (grub_errno)
grub_print_error ();
@@ -46,7 +56,10 @@ autoload_fs_module (void)
grub_free (p);
}
- return 0;
+ grub_memcpy (grub_file_filters_enabled, grub_file_filters_was,
+ sizeof (grub_file_filters_enabled));
+
+ return ret;
}
/* Read the file fs.lst for auto-loading. */
--
1.8.2.1