summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAx333l2022-07-25 16:47:39 +0200
committerAx333l2022-07-25 16:47:39 +0200
commit5e8312ac88e7ff75fdf0020dc1ccf99bfa3a6cfb (patch)
treeb67174890afb8e82f1322cd22ebcf891eecbc664
parent8c4a269c585fd1d18313b444d64bb0ea662c6879 (diff)
downloadaur-5e8312ac88e7ff75fdf0020dc1ccf99bfa3a6cfb.tar.gz
update to latest grub upstream
-rw-r--r--.SRCINFO16
-rw-r--r--PKGBUILD25
-rw-r--r--mm_1.patch87
-rw-r--r--mm_2.patch89
-rw-r--r--mm_3.patch99
-rw-r--r--mm_4.patch64
-rw-r--r--mm_5.patch57
-rw-r--r--mm_6.patch81
8 files changed, 5 insertions, 513 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bb82e86cdd11..f8df51982c96 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = grub-improved-luks2-git
pkgdesc = GNU GRand Unified Bootloader (2) with Argon2 and better LUKS2 support
- pkgver = 2.06.r110.gbe257de00
+ pkgver = 2.06.r284.g1b3d97bdf
pkgrel = 1
url = https://www.gnu.org/software/grub/
install = grub-improved-luks2-git.install
@@ -29,7 +29,7 @@ pkgbase = grub-improved-luks2-git
conflicts = grub
backup = etc/default/grub
backup = etc/grub.d/40_custom
- source = grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c
+ source = grub::git+https://git.savannah.gnu.org/git/grub.git#commit=1b3d97bdf8b026d1fe43accd14dd190dd47e183f
source = grub-extras::git+https://git.savannah.gnu.org/git/grub-extras.git
source = gnulib::git+https://git.savannah.gnu.org/git/gnulib.git
source = argon_1.patch
@@ -38,12 +38,6 @@ pkgbase = grub-improved-luks2-git
source = argon_3.patch
source = argon_4.patch
source = argon_5.patch
- source = mm_1.patch
- source = mm_2.patch
- source = mm_3.patch
- source = mm_4.patch
- source = mm_5.patch
- source = mm_6.patch
source = grub-install_luks2.patch
source = add-GRUB_COLOR_variables.patch
source = detect-archlinux-initramfs.patch
@@ -58,12 +52,6 @@ pkgbase = grub-improved-luks2-git
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
- sha256sums = SKIP
sha256sums = 5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab
sha256sums = 580a81b00088773d554832b0d74c85bf16fec37728802973c45993bcb97cd7d5
sha256sums = 791fadf182edf8d5bee4b45c008b08adce9689a9624971136527891a8f67d206
diff --git a/PKGBUILD b/PKGBUILD
index 404e98e52fed..517326a1a29a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,8 +19,9 @@ _build_platforms="x86_64-efi"
# [[ "${_grub_emu_build}" == "1" ]] && _build_platforms+=" ${_target_arch}-emu"
_pkgname="grub"
+_commit="1b3d97bdf8b026d1fe43accd14dd190dd47e183f"
pkgname="${_pkgname}-improved-luks2-git"
-pkgver=2.06.r110.gbe257de00
+pkgver=2.06.r284.g1b3d97bdf
pkgrel=1
pkgdesc="GNU GRand Unified Bootloader (2) with Argon2 and better LUKS2 support"
arch=('x86_64')
@@ -41,7 +42,7 @@ conflicts=("${_pkgname}")
backup=('etc/default/grub'
'etc/grub.d/40_custom')
install="${pkgname}.install"
-source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c"
+source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=${_commit}"
"grub-extras::git+https://git.savannah.gnu.org/git/grub-extras.git"
"gnulib::git+https://git.savannah.gnu.org/git/gnulib.git"
'argon_1.patch'
@@ -50,12 +51,6 @@ source=("grub::git+https://git.savannah.gnu.org/git/grub.git#commit=be257de00c"
'argon_3.patch'
'argon_4.patch'
'argon_5.patch'
- 'mm_1.patch'
- 'mm_2.patch'
- 'mm_3.patch'
- 'mm_4.patch'
- 'mm_5.patch'
- 'mm_6.patch'
'grub-install_luks2.patch'
'add-GRUB_COLOR_variables.patch'
'detect-archlinux-initramfs.patch'
@@ -70,12 +65,6 @@ sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
'5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab'
'580a81b00088773d554832b0d74c85bf16fec37728802973c45993bcb97cd7d5'
'791fadf182edf8d5bee4b45c008b08adce9689a9624971136527891a8f67d206')
@@ -90,14 +79,6 @@ prepare() {
# Patch grub-mkconfig to detect Arch Linux initramfs images.
patch -Np1 -i "$srcdir"/detect-archlinux-initramfs.patch
- # mm
- patch -Np1 -i "$srcdir"/mm_1.patch
- patch -Np1 -i "$srcdir"/mm_2.patch
- patch -Np1 -i "$srcdir"/mm_3.patch
- patch -Np1 -i "$srcdir"/mm_4.patch
- patch -Np1 -i "$srcdir"/mm_5.patch
- patch -Np1 -i "$srcdir"/mm_6.patch
-
# argon2
patch -Np1 -i "$srcdir"/argon_1.patch
patch -Np1 -i "$srcdir"/argon_2.patch
diff --git a/mm_1.patch b/mm_1.patch
deleted file mode 100644
index 146dcefc911f..000000000000
--- a/mm_1.patch
+++ /dev/null
@@ -1,87 +0,0 @@
----
- grub-core/kern/dl.c | 20 --------------------
- grub-core/kern/mm.c | 8 --------
- include/grub/dl.h | 1 -
- 3 files changed, 29 deletions(-)
-
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index 48f8a7907..a62dbeebb 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -803,23 +803,3 @@ grub_dl_unload (grub_dl_t mod)
- grub_free (mod);
- return 1;
- }
--
--/* Unload unneeded modules. */
--void
--grub_dl_unload_unneeded (void)
--{
-- /* Because grub_dl_remove modifies the list of modules, this
-- implementation is tricky. */
-- grub_dl_t p = grub_dl_head;
--
-- while (p)
-- {
-- if (grub_dl_unload (p))
-- {
-- p = grub_dl_head;
-- continue;
-- }
--
-- p = p->next;
-- }
--}
-diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
-index c070afc62..e0e580270 100644
---- a/grub-core/kern/mm.c
-+++ b/grub-core/kern/mm.c
-@@ -360,14 +360,6 @@ grub_memalign (grub_size_t align, grub_size_t size)
- count++;
- goto again;
-
--#if 0
-- case 1:
-- /* Unload unneeded modules. */
-- grub_dl_unload_unneeded ();
-- count++;
-- goto again;
--#endif
--
- default:
- break;
- }
-diff --git a/include/grub/dl.h b/include/grub/dl.h
-index b3753c9ca..536717776 100644
---- a/include/grub/dl.h
-+++ b/include/grub/dl.h
-@@ -203,7 +203,6 @@ grub_dl_t EXPORT_FUNC(grub_dl_load) (const char *name);
- grub_dl_t grub_dl_load_core (void *addr, grub_size_t size);
- grub_dl_t EXPORT_FUNC(grub_dl_load_core_noinit) (void *addr, grub_size_t size);
- int EXPORT_FUNC(grub_dl_unload) (grub_dl_t mod);
--extern void grub_dl_unload_unneeded (void);
- extern int EXPORT_FUNC(grub_dl_ref) (grub_dl_t mod);
- extern int EXPORT_FUNC(grub_dl_unref) (grub_dl_t mod);
- extern int EXPORT_FUNC(grub_dl_ref_count) (grub_dl_t mod);
---
-2.32.0
-
-
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9dUACgkQVbJhu7ck
-PpQ9xg/9E2CLh95L+w3TAgbclAkA6/KaVDnOy+woDUwGRv2yVxtTqMWakOSbZruD
-JTFCNPQdug+HHjqGFkjsS0nBu9U+DRlb/5RTOSyK+BKEnp3f9/OlaJnvHwy1AKe1
-Vhg4KdkXdmQ99ER8at7JMLs7n0KaetMegpLHVRCOuxr7VbtiGaJD1VcQS8ubIbwh
-jkvzJQVmJPt4dyD1I88oB2Xm/QKLimPtMCLNcWh0fXTUBBctOS6vZiacvMlF2/HX
-e7tWaNQMMayS1uZJL8B4Bl31iWFF7pm6CEZrPA4LK9Oggj7NUri+W1QLpzjUeBSw
-lJ6ZMfZXccUwrdqF7NDpxPuVe7cYUUIgcHmzxHWK028JHicaeA2v7/rZxlBkFqS5
-OF7JSD7ncngu8TAYFzhaHKRFouj9APY3x7q/IV1yuBOgw8yhD8T+hevoekqj8Dvg
-jbxIBaWulR/IyPcCEofapIr6xGSpQxPtwQIzTnXa8yTdguf832rUG3wguHeWfHQq
-uTiBYjzDMglon/ySlpPnv6z33TRZLHRcyhXeLjc9DJTgQIl3n4XZGLAf+itGTKOL
-EUPTs2b30oX7wYTLgBxtPpbmtNRVxEfY1nNxDp3U9ffQHkEaKkvfrtI8Fl3dK1nB
-XtjvaGDt/DfYOlWoyT9qwSsSKO7P/GRp2Fjiz5r9kISxwFuPLdA=
-=jVOn
------END PGP SIGNATURE-----
-
-
diff --git a/mm_2.patch b/mm_2.patch
deleted file mode 100644
index 817b017e2b39..000000000000
--- a/mm_2.patch
+++ /dev/null
@@ -1,89 +0,0 @@
----
- grub-core/kern/mm.c | 10 ++++++++++
- include/grub/mm.h | 16 ++++++++++++++++
- 2 files changed, 26 insertions(+)
-
-diff --git a/grub-core/kern/mm.c b/grub-core/kern/mm.c
-index e0e580270..2df835392 100644
---- a/grub-core/kern/mm.c
-+++ b/grub-core/kern/mm.c
-@@ -81,6 +81,7 @@
-
-
- grub_mm_region_t grub_mm_base;
-+grub_mm_add_region_func_t grub_mm_add_region_fn;
-
- /* Get a header from the pointer PTR, and set *P and *R to a pointer
- to the header and a pointer to its region, respectively. PTR must
-@@ -360,6 +361,15 @@ grub_memalign (grub_size_t align, grub_size_t size)
- count++;
- goto again;
-
-+ case 1:
-+ /* Request additional pages. */
-+ count++;
-+
-+ if (grub_mm_add_region_fn && grub_mm_add_region_fn (size, GRUB_MM_ADD_REGION_CONSECUTIVE) == GRUB_ERR_NONE)
-+ goto again;
-+
-+ /* fallthrough */
-+
- default:
- break;
- }
-diff --git a/include/grub/mm.h b/include/grub/mm.h
-index 9c38dd3ca..afde57d2e 100644
---- a/include/grub/mm.h
-+++ b/include/grub/mm.h
-@@ -20,6 +20,7 @@
- #ifndef GRUB_MM_H
- #define GRUB_MM_H 1
-
-+#include <grub/err.h>
- #include <grub/types.h>
- #include <grub/symbol.h>
- #include <config.h>
-@@ -28,6 +29,21 @@
- # define NULL ((void *) 0)
- #endif
-
-+#define GRUB_MM_ADD_REGION_NONE 0
-+#define GRUB_MM_ADD_REGION_CONSECUTIVE (1 << 0)
-+
-+/*
-+ * Function used to request memory regions of `grub_size_t` bytes. The second
-+ * parameter is a bitfield of `GRUB_MM_ADD_REGION` flags.
-+ */
-+typedef grub_err_t (*grub_mm_add_region_func_t) (grub_size_t, unsigned int);
-+
-+/*
-+ * Set this function pointer to enable adding memory-regions at runtime in case
-+ * a memory allocation cannot be satisfied with existing regions.
-+ */
-+extern grub_mm_add_region_func_t EXPORT_VAR(grub_mm_add_region_fn);
-+
- void grub_mm_init_region (void *addr, grub_size_t size);
- void *EXPORT_FUNC(grub_calloc) (grub_size_t nmemb, grub_size_t size);
- void *EXPORT_FUNC(grub_malloc) (grub_size_t size);
---
-2.32.0
-
-
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9dkACgkQVbJhu7ck
-PpScOQ//UbROjKLOAviqmbQoJLJHxwcOKGzpSWDmHI4mjXxc+wafFL6rPOa75//8
-R5QoYbEN1uCSkrK4Mgjn4aqwCHp9PyL+thJXuryzHNVtyPrz96aUi4kwXWfsX6Jw
-O6a1JpqTJieJyRcTWG91i6k8SMdtPuNXAt/tsllbRy6jp/fYDz4inJHgtG6p//WI
-4ORbW4OcFO7n3FCFa1l4EYqsaWJDSkAuKLk5QUKgpAKn3YEc1uL32TgFt77jIjSi
-4RIVZT4kNv6aVhCfwLQQW8g1BZkTYO5ehzDXB6SnI+4CjxeGwVMgeZFF6NbU68LX
-B4ZBO+SfTpwMoexHykM3VtVEzAQfmY8idIeS0m0ptC5j8rlz/oxI3TrqHkoTxgSU
-ZhyrqNOdMOnYx2jLqnh79qmizEebai1nPA/bl2Jke0lQvWSORH9h/HpfN3vCFTW3
-Vw8nfZS7MgbU0hk/14rFd/1TWV9m+aEgUITYxL1cnOI70V/Ne+HO41O+NJh6fT14
-5yZScrJ3FD8BkvJi/IW4PBZ2Iq8n7u9/UIvhKiNisQuHr13jgaGF2NYm6RYYZANg
-1qz7wkf3ora3nN74fu26ohWejlC9hcNGYlIjBI0iRF5E6IJ/mT4jq8PVJ0DJnrUc
-8AeLPgnW6BiPgTUevUOODo5jGZQ3oJ6zFumZNLl28wN0Lr9Mqnw=
-=+47H
------END PGP SIGNATURE-----
-
-
diff --git a/mm_3.patch b/mm_3.patch
deleted file mode 100644
index 8f709d90dd77..000000000000
--- a/mm_3.patch
+++ /dev/null
@@ -1,99 +0,0 @@
----
- grub-core/kern/efi/mm.c | 35 +++--------------------------------
- 1 file changed, 3 insertions(+), 32 deletions(-)
-
-diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
-index 9838fb2f5..4d276bc87 100644
---- a/grub-core/kern/efi/mm.c
-+++ b/grub-core/kern/efi/mm.c
-@@ -38,9 +38,8 @@
- a multiplier of 4KB. */
- #define MEMORY_MAP_SIZE 0x3000
-
--/* The minimum and maximum heap size for GRUB itself. */
--#define MIN_HEAP_SIZE 0x100000
--#define MAX_HEAP_SIZE (1600 * 0x100000)
-+/* The default heap size for GRUB itself in bytes. */
-+#define DEFAULT_HEAP_SIZE 0x100000
-
- static void *finish_mmap_buf = 0;
- static grub_efi_uintn_t finish_mmap_size = 0;
-@@ -478,23 +477,6 @@ filter_memory_map (grub_efi_memory_descriptor_t *memory_map,
- return filtered_desc;
- }
-
--/* Return the total number of pages. */
--static grub_efi_uint64_t
--get_total_pages (grub_efi_memory_descriptor_t *memory_map,
-- grub_efi_uintn_t desc_size,
-- grub_efi_memory_descriptor_t *memory_map_end)
--{
-- grub_efi_memory_descriptor_t *desc;
-- grub_efi_uint64_t total = 0;
--
-- for (desc = memory_map;
-- desc < memory_map_end;
-- desc = NEXT_MEMORY_DESCRIPTOR (desc, desc_size))
-- total += desc->num_pages;
--
-- return total;
--}
--
- /* Add memory regions. */
- static void
- add_memory_regions (grub_efi_memory_descriptor_t *memory_map,
-@@ -583,8 +565,6 @@ grub_efi_mm_init (void)
- grub_efi_memory_descriptor_t *filtered_memory_map_end;
- grub_efi_uintn_t map_size;
- grub_efi_uintn_t desc_size;
-- grub_efi_uint64_t total_pages;
-- grub_efi_uint64_t required_pages;
- int mm_status;
-
- /* Prepare a memory region to store two memory maps. */
-@@ -624,22 +604,13 @@ grub_efi_mm_init (void)
- filtered_memory_map_end = filter_memory_map (memory_map, filtered_memory_map,
- desc_size, memory_map_end);
-
-- /* By default, request a quarter of the available memory. */
-- total_pages = get_total_pages (filtered_memory_map, desc_size,
-- filtered_memory_map_end);
-- required_pages = (total_pages >> 2);
-- if (required_pages < BYTES_TO_PAGES (MIN_HEAP_SIZE))
-- required_pages = BYTES_TO_PAGES (MIN_HEAP_SIZE);
-- else if (required_pages > BYTES_TO_PAGES (MAX_HEAP_SIZE))
-- required_pages = BYTES_TO_PAGES (MAX_HEAP_SIZE);
--
- /* Sort the filtered descriptors, so that GRUB can allocate pages
- from smaller regions. */
- sort_memory_map (filtered_memory_map, desc_size, filtered_memory_map_end);
-
- /* Allocate memory regions for GRUB's memory management. */
- add_memory_regions (filtered_memory_map, desc_size,
-- filtered_memory_map_end, required_pages);
-+ filtered_memory_map_end, BYTES_TO_PAGES (DEFAULT_HEAP_SIZE));
-
- #if 0
- /* For debug. */
---
-2.32.0
-
-
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9d0ACgkQVbJhu7ck
-PpQn3w//WJu1uNsOVPLPU6TPLWVvEuPApH97bUrMjNnvzNYbPlR82ym+u+zMGoJ7
-Es77CEqgMDhCOxdD3oEi9PMZtXASgnw7uGKJycdGZOObzGBu4IZ4ZWQdWVfwlIZp
-4Qlc+ROTQoEWyLWpB/mJwrcXX8ILOdeRSX071zfHhJNcauEWMKEE88M/HH0VxCeT
-ZHGrmSzBE9gu3HQ8kir9wibroBeI4siW1feR5PWDmp/3R96z5MKN2xyy6BkH3Z0M
-sbl7zrlSu+NSnsmLzcH8oyfCBI+2soXgmGHQ1QCY8v8rbNx77sXKxTZniK7lH70Z
-X+0pcRm8aEYaT4ReWAxqJFykMn/9zfX4XRqEUBXTK/vWzSB4/5v0RLiUftvLfl7A
-Du8w+mocoOELAwCi4+VydHO9jUMnHJAlR+HAazd2jifi9jWsU7gxkD7FO+zFlble
-Eq5XFRgKzYmDHzPbD3udEH1+8792eGa0BjXwmIGpvFYfHpo4Jm24obykVVpH2m6j
-be99L+9A7PIxUg3GB6RAerR2Lc6a+nPRC47Jrp63BGtQ7SHPKCY7lzvw7q0nv0d+
-FmlcXQvOoeQeUNUzCaEmHaRP/WKSeeKL86Rp6pUIOXho6ON5llwSexJYEJlWA6rj
-p9wPIz8BA0iHFMix/Ch9DmUg1BNIE2vGaf+qhPmPNMF1ZFonbl8=
-=L7Ky
------END PGP SIGNATURE-----
-
-
diff --git a/mm_4.patch b/mm_4.patch
deleted file mode 100644
index a9e08202fe8b..000000000000
--- a/mm_4.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/grub-core/kern/efi/mm.c 2022-03-26 23:38:30.898320806 +0100
-+++ b/grub-core/kern/efi/mm.c 2022-03-26 23:42:11.696424298 +0100
-@@ -556,8 +556,8 @@
- }
- #endif
-
--void
--grub_efi_mm_init (void)
-+static grub_err_t
-+grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes)
- {
- grub_efi_memory_descriptor_t *memory_map;
- grub_efi_memory_descriptor_t *memory_map_end;
-@@ -570,7 +570,7 @@
- /* Prepare a memory region to store two memory maps. */
- memory_map = grub_efi_allocate_any_pages (2 * BYTES_TO_PAGES (MEMORY_MAP_SIZE));
- if (! memory_map)
-- grub_fatal ("cannot allocate memory");
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate memory");
-
- /* Obtain descriptors for available memory. */
- map_size = MEMORY_MAP_SIZE;
-@@ -588,14 +588,14 @@
-
- memory_map = grub_efi_allocate_any_pages (2 * BYTES_TO_PAGES (map_size));
- if (! memory_map)
-- grub_fatal ("cannot allocate memory");
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot allocate memory");
-
- mm_status = grub_efi_get_memory_map (&map_size, memory_map, 0,
- &desc_size, 0);
- }
-
- if (mm_status < 0)
-- grub_fatal ("cannot get memory map");
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "cannot get memory map");
-
- memory_map_end = NEXT_MEMORY_DESCRIPTOR (memory_map, map_size);
-
-@@ -610,7 +610,7 @@
-
- /* Allocate memory regions for GRUB's memory management. */
- add_memory_regions (filtered_memory_map, desc_size,
-- filtered_memory_map_end, BYTES_TO_PAGES (DEFAULT_HEAP_SIZE));
-+ filtered_memory_map_end, BYTES_TO_PAGES (required_bytes));
-
- #if 0
- /* For debug. */
-@@ -628,6 +628,15 @@
- /* Release the memory maps. */
- grub_efi_free_pages ((grub_addr_t) memory_map,
- 2 * BYTES_TO_PAGES (MEMORY_MAP_SIZE));
-+
-+ return GRUB_ERR_NONE;
-+}
-+
-+void
-+grub_efi_mm_init (void)
-+{
-+ if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE) != GRUB_ERR_NONE)
-+ grub_fatal ("%s", grub_errmsg);
- }
-
- #if defined (__aarch64__) || defined (__arm__) || defined (__riscv)
diff --git a/mm_5.patch b/mm_5.patch
deleted file mode 100644
index 7a9ea62e19f2..000000000000
--- a/mm_5.patch
+++ /dev/null
@@ -1,57 +0,0 @@
---- a/grub-core/kern/efi/mm.c 2022-03-26 23:51:18.575479411 +0100
-+++ b/grub-core/kern/efi/mm.c 2022-03-26 23:55:01.813184231 +0100
-@@ -478,7 +478,7 @@
- }
-
- /* Add memory regions. */
--static void
-+static grub_err_t
- add_memory_regions (grub_efi_memory_descriptor_t *memory_map,
- grub_efi_uintn_t desc_size,
- grub_efi_memory_descriptor_t *memory_map_end,
-@@ -506,9 +506,9 @@
- GRUB_EFI_ALLOCATE_ADDRESS,
- GRUB_EFI_LOADER_CODE);
- if (! addr)
-- grub_fatal ("cannot allocate conventional memory %p with %u pages",
-- (void *) ((grub_addr_t) start),
-- (unsigned) pages);
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY,
-+ "cannot allocate conventional memory %p with %u pages",
-+ (void *) ((grub_addr_t) start), (unsigned) pages);
-
- grub_mm_init_region (addr, PAGES_TO_BYTES (pages));
-
-@@ -518,7 +518,9 @@
- }
-
- if (required_pages > 0)
-- grub_fatal ("too little memory");
-+ return grub_error (GRUB_ERR_OUT_OF_MEMORY, "too little memory");
-+
-+ return GRUB_ERR_NONE;
- }
-
- void
-@@ -565,6 +567,7 @@
- grub_efi_memory_descriptor_t *filtered_memory_map_end;
- grub_efi_uintn_t map_size;
- grub_efi_uintn_t desc_size;
-+ grub_err_t err;
- int mm_status;
-
- /* Prepare a memory region to store two memory maps. */
-@@ -609,8 +612,11 @@
- sort_memory_map (filtered_memory_map, desc_size, filtered_memory_map_end);
-
- /* Allocate memory regions for GRUB's memory management. */
-- add_memory_regions (filtered_memory_map, desc_size,
-- filtered_memory_map_end, BYTES_TO_PAGES (required_bytes));
-+ err = add_memory_regions (filtered_memory_map, desc_size,
-+ filtered_memory_map_end,
-+ BYTES_TO_PAGES (required_bytes));
-+ if (err != GRUB_ERR_NONE)
-+ return err;
-
- #if 0
- /* For debug. */
diff --git a/mm_6.patch b/mm_6.patch
deleted file mode 100644
index c7b370863461..000000000000
--- a/mm_6.patch
+++ /dev/null
@@ -1,81 +0,0 @@
----
- grub-core/kern/efi/mm.c | 15 +++++++++++----
- 1 file changed, 11 insertions(+), 4 deletions(-)
-
-diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
-index ced3ee5e7..f3d2e2b99 100644
---- a/grub-core/kern/efi/mm.c
-+++ b/grub-core/kern/efi/mm.c
-@@ -482,7 +482,8 @@ static grub_err_t
- add_memory_regions (grub_efi_memory_descriptor_t *memory_map,
- grub_efi_uintn_t desc_size,
- grub_efi_memory_descriptor_t *memory_map_end,
-- grub_efi_uint64_t required_pages)
-+ grub_efi_uint64_t required_pages,
-+ unsigned int flags)
- {
- grub_efi_memory_descriptor_t *desc;
-
-@@ -496,6 +497,10 @@ add_memory_regions (grub_efi_memory_descriptor_t *memory_map,
-
- start = desc->physical_start;
- pages = desc->num_pages;
-+
-+ if (pages < required_pages && (flags & GRUB_MM_ADD_REGION_CONSECUTIVE))
-+ continue;
-+
- if (pages > required_pages)
- {
- start += PAGES_TO_BYTES (pages - required_pages);
-@@ -559,7 +564,7 @@ print_memory_map (grub_efi_memory_descriptor_t *memory_map,
- #endif
-
- static grub_err_t
--grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes)
-+grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes, unsigned int flags)
- {
- grub_efi_memory_descriptor_t *memory_map;
- grub_efi_memory_descriptor_t *memory_map_end;
-@@ -614,7 +619,8 @@ grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes)
- /* Allocate memory regions for GRUB's memory management. */
- err = add_memory_regions (filtered_memory_map, desc_size,
- filtered_memory_map_end,
-- BYTES_TO_PAGES (required_bytes));
-+ BYTES_TO_PAGES (required_bytes),
-+ flags);
- if (err != GRUB_ERR_NONE)
- return err;
-
-@@ -641,8 +647,9 @@ grub_efi_mm_add_regions (grub_efi_uint64_t required_bytes)
- void
- grub_efi_mm_init (void)
- {
-- if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE) != GRUB_ERR_NONE)
-+ if (grub_efi_mm_add_regions (DEFAULT_HEAP_SIZE, GRUB_MM_ADD_REGION_NONE) != GRUB_ERR_NONE)
- grub_fatal ("%s", grub_errmsg);
-+ grub_mm_add_region_fn = grub_efi_mm_add_regions;
- }
-
- #if defined (__aarch64__) || defined (__arm__) || defined (__riscv)
---
-2.32.0
-
-
------BEGIN PGP SIGNATURE-----
-
-iQIzBAABCgAdFiEEF9hrgiFbCdvenl/rVbJhu7ckPpQFAmEY9eoACgkQVbJhu7ck
-PpSFbQ//Y5G9FkVKWEwCrB7KhbF9pcmTobET1Q7lvrVtK+XArMuZQn/aDTxjoXM/
-87qMkF2OTko79/z1nzveDODPtR1E48jqR41+Qz7CICOH+8oG2Ur+MZt5J2T2M/Gf
-JsqJ26Fk36A86IoZHZ73yfHCWgtQo4+jckOLJkGbTmlriOWSOCfvCKIt7aF0Z2Wf
-SkfEt0UMV6i81HKkZ6v+nPJJQmZQp+pTpOWr7hrjx/6nUT1QadVQoVL8YYKKxHcX
-zMkT7hAg+D6vAVJhfOSt/VoMcBJeBK8Or2OD5gDOKcqZ19nixa1u3r6NnkkG10OH
-PyVL35svdUMMiIC2LXy2YCf7hbrOCOuCk10sT8Q05TrDvFpkvOn6QcGhvcSXtzmB
-5wju6EVqCtIrrcSYl3Y2bWjrKFZXL3w1vOUnObF3yae2soR2h3Nvgyg98J3Qoee+
-7dNYGs3WmDb3wF9p/0TY54g89ZotKwZUEuaVu7qtcp3y6HpmcZ1XbnA8Y3aWmdmm
-EeiUKAMSacyqxt1QBWciQTs7BaXWwxj8hI8xDjpCEMVFCux4nxdw6aXQXqocAaor
-mDhjjriqmwTRNpZnUlUkScwczSJuh5WqnLWj5RKC01drUlcbnJjvdsaU1VAvzEju
-24KGNqanC+jc1ZqKcx4eeCQHF21x8+xgsmgjYJZ8PGptT0bg/Xc=
-=PvkK
------END PGP SIGNATURE-----
-
-