[coreboot-gerrit] New patch to review for coreboot: drivers/elog: put back 4KiB limit

Aaron Durbin (adurbin@chromium.org) gerrit at coreboot.org
Mon Jul 25 15:48:15 CEST 2016


Aaron Durbin (adurbin at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/15835

-gerrit

commit 553aa5ac45a449945689de7dd69171c4a3b5f3a2
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Mon Jul 25 08:44:57 2016 -0500

    drivers/elog: put back 4KiB limit
    
    The removal of ELOG_FLASH_BASE and ELOG_FLASH_SIZE resulted
    in the FMAP region for the eventlog to be honored. However,
    certain systems seem to have a large eventlog region that
    wasn't being used in practice. Because of the malloc() in the
    eventlog init sequence a large allocation was now being requested
    that can exhaust the heap. Put back the 4KiB capacity until
    the resource usage is fixed.
    
    BUG=chrome-os-partner:55593
    
    Change-Id: Ib54b396b48e5be80f737fc3feb0d58348c0d2844
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
---
 src/drivers/elog/elog.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c
index 9566078..0bb4d16 100644
--- a/src/drivers/elog/elog.c
+++ b/src/drivers/elog/elog.c
@@ -499,7 +499,8 @@ static void elog_find_flash(void)
 		flash_base = total_size = 0;
 	} else {
 		flash_base = region_offset(&r);
-		total_size = region_sz(&r);
+		/* Keep 4KiB max size until large malloc()s have been fixed. */
+		total_size = MIN(4*KiB, region_sz(&r));
 	}
 
 	log_size = total_size - sizeof(struct elog_header);



More information about the coreboot-gerrit mailing list