SHA256
1
0
forked from pool/grub2
grub2/0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch
Michael Chang b8a9f2473e Accepting request 1040499 from home:michael-chang:branches:Base:System
- Add tpm to signed grub.elf image (PED-1990) (bsc#1205912) 
- Increase initial heap size from 1/4 to 1/3
  * 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch

OBS-URL: https://build.opensuse.org/request/show/1040499
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=429
2022-12-06 07:49:23 +00:00

50 lines
1.6 KiB
Diff

From 41965e194599af42e77bcf2462bd9c0db2823b16 Mon Sep 17 00:00:00 2001
From: Stefan Berger <stefanb@linux.ibm.com>
Date: Tue, 1 Nov 2022 11:06:03 -0400
Subject: [PATCH] ieee1275: Increase initially allocated heap from 1/4 to 1/3
The patch 'ieee1275: claim more memory' (commit 910676645d) states:
"[...] This leaves us 381MB. 1/4 of 381MB is ~95MB. That should be enough
to verify a 30MB vmlinux and should eave plenty of space to load Linux
and the initrd."
As it turns out the memory limit of ~95MB is insufficient for the FADUMP
use case as described here:
https://bugzilla.redhat.com/show_bug.cgi?id=2139000#c1
Adjust the current memory limitation by increasing the allocation to
1/3 of 381 MB, so ~127MB.
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
---
grub-core/kern/ieee1275/init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/ieee1275/init.c b/grub-core/kern/ieee1275/init.c
index 0bacc2348..f75a36493 100644
--- a/grub-core/kern/ieee1275/init.c
+++ b/grub-core/kern/ieee1275/init.c
@@ -47,7 +47,7 @@
#include <grub/lockdown.h>
/* The maximum heap size we're going to claim. Not used by sparc.
- We allocate 1/4 of the available memory under 4G, up to this limit. */
+ We allocate 1/3 of the available memory under 4G, up to this limit. */
#ifdef __i386__
#define HEAP_MAX_SIZE (unsigned long) (64 * 1024 * 1024)
#else // __powerpc__
@@ -415,7 +415,7 @@ grub_claim_heap (void)
grub_machine_mmap_iterate (heap_size, &total);
- total = total / 4;
+ total = total / 3;
if (total > HEAP_MAX_SIZE)
total = HEAP_MAX_SIZE;
--
2.35.3