[coreboot-gerrit] Patch merged into coreboot/master: 9665d38 libpayload: dma_malloc: Prevent warm reboot problems and add debugging

gerrit at coreboot.org gerrit at coreboot.org
Thu Aug 14 23:41:46 CEST 2014


the following patch was just integrated into master:
commit 9665d389e453d852eef4bc4ae3699ee11d15c999
Author: Julius Werner <jwerner at chromium.org>
Date:   Fri Sep 13 18:21:46 2013 -0700

    libpayload: dma_malloc: Prevent warm reboot problems and add debugging
    
    Since the DMA memory is allocated by Coreboot (outside of the payload's
    linker script), it won't get zeroed upon loading like the heap.
    Therefore, a warm reboot that doesn't reset memory may leave stale
    malloc cookies lying around and misinterpret them as memory that is
    still in use on the next boot. After several boots this may fill up the
    whole DMA memory and lead to OOM conditions.
    
    Therefore, this patch explicitly wipes the first cookie in
    init_dma_memory() to prevent that from happening. It also expands the
    existing memory allocator debugging code to cover the DMA parts, which
    was very helpful in identifying this particular problem.
    
    Change-Id: I6e2083c286ff8ec865b22dd922c39c456944b451
    Signed-off-by: Julius Werner <jwerner at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/169455
    Reviewed-by: Stefan Reinauer <reinauer at google.com>
    (cherry picked from commit 8e5e1784638563b865553125cd5dab1d36a5d2cb)
    Signed-off-by: Isaac Christensen <isaac.christensen at se-eng.com>
    Reviewed-on: http://review.coreboot.org/6645
    Tested-by: build bot (Jenkins)
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
    Reviewed-by: Paul Menzel <paulepanter at users.sourceforge.net>


See http://review.coreboot.org/6645 for details.

-gerrit



More information about the coreboot-gerrit mailing list