[PATCH 2/4] malloc: Annotate allocator for valgrind

Simon Glass sjg at chromium.org
Tue May 4 17:26:12 CEST 2021


On Sun, 2 May 2021 at 20:55, Sean Anderson <seanga2 at gmail.com> wrote:
>
> This annotates malloc and friends so that valgrind can track the heap. To
> do this, we need to follow a few rules:
>
> * Call VALGRIND_MALLOCLIKE_BLOCK whenever we malloc something
> * Call VALGRIND_FREELIKE_BLOCK whenever we free something (generally after
>   we have done our bookkeeping)
> * Call VALGRIND_RESIZEINPLACE_BLOCK whenever we change the size of an
>   allocation. Generally this just needs to happen in realloc, but only if
>   the address stays the same.
>
> In addition to the above, dlmalloc itself tends to make a lot of accesses
> which we know are safe, but which would be unsafe outside of dlmalloc. For
> this reason, we provide a suppression file which ignores errors ocurring in
> dlmalloc.c
>
> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> ---
>
>  common/dlmalloc.c      | 29 ++++++++++++++++++++++++++++-
>  common/malloc_simple.c | 10 ++++++++++
>  include/malloc.h       |  4 ++++
>  scripts/u-boot.supp    | 30 ++++++++++++++++++++++++++++++
>  4 files changed, 72 insertions(+), 1 deletion(-)
>  create mode 100644 scripts/u-boot.supp

Reviewed-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list