summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2016-07-25 08:44:57 -0500
committerAaron Durbin <adurbin@chromium.org>2016-07-26 15:35:37 +0200
commit49d233006b52b804d6e97a12bf16fe38826e9d8a (patch)
tree97ae5bdc0ceea0b2fa6affbb01ccdb4acd571003
parentdc4820baed8ac592a5583ebdd97c8ed892a5b0b6 (diff)
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@chromium.org> Reviewed-on: https://review.coreboot.org/15835 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/drivers/elog/elog.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c
index 95660784aa..0bb4d164e9 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);