You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
|
From: Andrei Borzenkov <arvidjaar@gmail.com> |
|
Date: Thu, 26 Nov 2015 19:50:42 +0300 |
|
Subject: [PATCH] efi: really mark memory of unknown type as reserved |
|
|
|
9be4c45dbe3c877d1f4856e99ee15133c6cd2261 added switch case between |
|
fall through cases, causing all memory regions of unknown type to be |
|
marked as available. |
|
|
|
Move default case into its own block and add explicit FALLTHROUGH |
|
annotation. |
|
|
|
Reported by Elliott, Robert (Persistent Memory) <elliott@hpe.com> |
|
|
|
(cherry picked from commit 3d2c8048da7db334fd6d57b27304ac765fd4cd67) |
|
|
|
Resolves: rhbz#1288608 |
|
--- |
|
grub-core/mmap/efi/mmap.c | 13 +++++++++---- |
|
1 file changed, 9 insertions(+), 4 deletions(-) |
|
|
|
diff --git a/grub-core/mmap/efi/mmap.c b/grub-core/mmap/efi/mmap.c |
|
index a77efe81d0c..900a4d6598c 100644 |
|
--- a/grub-core/mmap/efi/mmap.c |
|
+++ b/grub-core/mmap/efi/mmap.c |
|
@@ -73,6 +73,7 @@ grub_efi_mmap_iterate (grub_memory_hook_t hook, void *hook_data, |
|
GRUB_MEMORY_AVAILABLE, hook_data); |
|
break; |
|
} |
|
+ /* FALLTHROUGH */ |
|
case GRUB_EFI_RUNTIME_SERVICES_CODE: |
|
hook (desc->physical_start, desc->num_pages * 4096, |
|
GRUB_MEMORY_CODE, hook_data); |
|
@@ -83,10 +84,6 @@ grub_efi_mmap_iterate (grub_memory_hook_t hook, void *hook_data, |
|
GRUB_MEMORY_BADRAM, hook_data); |
|
break; |
|
|
|
- default: |
|
- grub_printf ("Unknown memory type %d, considering reserved\n", |
|
- desc->type); |
|
- |
|
case GRUB_EFI_BOOT_SERVICES_DATA: |
|
if (!avoid_efi_boot_services) |
|
{ |
|
@@ -94,6 +91,7 @@ grub_efi_mmap_iterate (grub_memory_hook_t hook, void *hook_data, |
|
GRUB_MEMORY_AVAILABLE, hook_data); |
|
break; |
|
} |
|
+ /* FALLTHROUGH */ |
|
case GRUB_EFI_RESERVED_MEMORY_TYPE: |
|
case GRUB_EFI_RUNTIME_SERVICES_DATA: |
|
case GRUB_EFI_MEMORY_MAPPED_IO: |
|
@@ -119,6 +117,13 @@ grub_efi_mmap_iterate (grub_memory_hook_t hook, void *hook_data, |
|
hook (desc->physical_start, desc->num_pages * 4096, |
|
GRUB_MEMORY_NVS, hook_data); |
|
break; |
|
+ |
|
+ default: |
|
+ grub_printf ("Unknown memory type %d, considering reserved\n", |
|
+ desc->type); |
|
+ hook (desc->physical_start, desc->num_pages * 4096, |
|
+ GRUB_MEMORY_RESERVED, hook_data); |
|
+ break; |
|
} |
|
} |
|
|
|
|