[Skiboot] [PATCH] Use VALGRIND callout rather than tricky malloc/memcpy

Stewart Smith stewart at linux.vnet.ibm.com
Wed Nov 11 16:38:46 AEDT 2015


The tricky memcpy trips up various static analysers and looks rather
odd. The more correct thing to do is to ask valgrind to mark it
as undefined. There's a call for that, and we depend on valgrind
to run the test suite anyway, so we're not introducing a new
dependency.

Signed-off-by: Stewart Smith <stewart at linux.vnet.ibm.com>
---
 hdata/test/hdata_to_dt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hdata/test/hdata_to_dt.c b/hdata/test/hdata_to_dt.c
index 96c9953248ec..cc7773e2ceaf 100644
--- a/hdata/test/hdata_to_dt.c
+++ b/hdata/test/hdata_to_dt.c
@@ -25,6 +25,8 @@
 
 #include <interrupts.h>
 
+#include <valgrind/memcheck.h>
+
 struct dt_node *opal_node;
 
 /* Our actual map. */
@@ -130,9 +132,7 @@ static void dump_val(const void *prop, size_t size)
 /* Make sure valgrind knows these are undefined bytes. */
 static void undefined_bytes(void *p, size_t len)
 {
-	void *undef = malloc(len);
-	memcpy(p, undef, len);
-	free(undef);
+	VALGRIND_MAKE_MEM_UNDEFINED(p, len);
 }
 
 static void dump_dt(const struct dt_node *root, unsigned indent)
-- 
2.1.4



More information about the Skiboot mailing list