Bora Guvendik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/37919 )
Change subject: lib/malloc: Implement a simple free() only for last malloc() ......................................................................
Patch Set 10:
Patch Set 10:
Patch Set 10:
Do you have statistics on different platforms how much memory is successfully freed? Is there a static code analyser to find missing free calls, now that it's doing something useful?
This allows the code in src/commonlib/storage/storage_write.c to not exhaust the heap. With a simple alloc and free pattern. As for finding leaks of the heap w.r.t. missing free() calls that's a different issue all together. Most of the malloc() calls in coreboot are for longer lifetimes, however when there's a succession of malloc() and free() calls it's easy to exhaust the heap.
No, I don't have statistics information, as Aaron mentioned, this is needed so that we don't run out of heap while using storage_block_fill_write().