From b604e8a388702df3cd4d3d64cf42dfc361b235c0 Mon Sep 17 00:00:00 2001 From: Piotr Jaroszyński Date: Thu, 1 Jul 2010 03:47:52 +0200 Subject: [linux] Make malloc and linux_umalloc valgrindable Make the allocators used by malloc and linux_umalloc valgrindable. Include valgrind headers in the codebase to avoid a build dependency on valgrind. Signed-off-by: Piotr Jaroszyński Modified-by: Michael Brown Signed-off-by: Michael Brown --- src/include/ipxe/malloc.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/include/ipxe') diff --git a/src/include/ipxe/malloc.h b/src/include/ipxe/malloc.h index e8136a3ce..c435a7ddb 100644 --- a/src/include/ipxe/malloc.h +++ b/src/include/ipxe/malloc.h @@ -19,6 +19,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); */ #include #include +#include extern size_t freemem; @@ -39,7 +40,10 @@ extern void mdumpfree ( void ); * @c align must be a power of two. @c size may not be zero. */ static inline void * __malloc malloc_dma ( size_t size, size_t phys_align ) { - return alloc_memblock ( size, phys_align ); + void * ptr = alloc_memblock ( size, phys_align ); + if ( ptr && size ) + VALGRIND_MALLOCLIKE_BLOCK ( ptr, size, 0, 0 ); + return ptr; } /** @@ -55,6 +59,7 @@ static inline void * __malloc malloc_dma ( size_t size, size_t phys_align ) { */ static inline void free_dma ( void *ptr, size_t size ) { free_memblock ( ptr, size ); + VALGRIND_FREELIKE_BLOCK ( ptr, 0 ); } /** A cache discarder */ -- cgit v1.2.3-55-g7522