Blame SOURCES/0191-efi-really-mark-memory-of-unknown-type-as-reserved.patch

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