[gPXE-devel] [PATCH 22/33] [linux] Mark DMA memory as defined in valgrind

Piotr Jaroszyński p.jaroszynski at gmail.com
Sun Aug 15 18:59:27 EDT 2010


DMA memory has to be assumed to be defined as we have no way of
controlling hardware access to it.

Signed-off-by: Piotr Jaroszyński <p.jaroszynski at gmail.com>
---
 src/include/gpxe/malloc.h |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/include/gpxe/malloc.h b/src/include/gpxe/malloc.h
index 2a564e9..5effc98 100644
--- a/src/include/gpxe/malloc.h
+++ b/src/include/gpxe/malloc.h
@@ -42,8 +42,11 @@ extern void mdumpfree ( void );
  */
 static inline void * __malloc malloc_dma ( size_t size, size_t phys_align ) {
 	void * ptr = alloc_memblock ( size, phys_align );
-	if ( ptr && size )
+	if ( ptr && size ) {
 		VALGRIND_MALLOCLIKE_BLOCK ( ptr, size, 0, 0 );
+		/* DMA memory can be modified by hardware w/o valgrind noticing */
+		VALGRIND_MAKE_MEM_DEFINED ( ptr, size );
+	}
 	return ptr;
 }
 
-- 
1.7.1



More information about the gPXE-devel mailing list