]> git.dujemihanovic.xyz Git - u-boot.git/commit
sandbox: Add support for Address Sanitizer
authorAndrew Scull <ascull@google.com>
Mon, 30 May 2022 10:00:05 +0000 (10:00 +0000)
committerTom Rini <trini@konsulko.com>
Thu, 23 Jun 2022 16:58:18 +0000 (12:58 -0400)
commit1e578ed20c733e7b2b6ac1e01a4e33338db45b5a
tree6624d7b1c589c06fb52c82a5faecbab90780855f
parent99e2fbcb69f0759432c4cfa0b6e1afa006f22930
sandbox: Add support for Address Sanitizer

Add CONFIG_ASAN to build with the Address Sanitizer. This only works
with the sandbox so the config is likewise dependent. The resulting
executable will have ASAN instrumentation, including the leak detector
that can be disabled with the ASAN_OPTIONS environment variable:

   ASAN_OPTIONS=detect_leaks=0 ./u-boot

Since u-boot uses its own dlmalloc, dynamic allocations aren't
automatically instrumented, but stack variables and globals are.

Instrumentation could be added to dlmalloc to poison and unpoison memory
as it is allocated and deallocated, and to introduce redzones between
allocations. Alternatively, the sandbox may be able to play games with
the system allocator and somehow still keep the required memory
abstraction. No effort to address dynamic allocation is made by this
patch.

The config is not yet enabled for any targets by default.

Signed-off-by: Andrew Scull <ascull@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Kconfig
arch/sandbox/config.mk