Index: base/compiler_specific.h |
diff --git a/base/compiler_specific.h b/base/compiler_specific.h |
index 47ca9778b6708c07a1637079b81a32302651faee..034cf06a78a6376534b4d2bd04a06b0e0c9fc2f7 100644 |
--- a/base/compiler_specific.h |
+++ b/base/compiler_specific.h |
@@ -175,9 +175,17 @@ |
// Mark a memory region fully initialized. |
// Use this to annotate code that deliberately reads uninitialized data, for |
// example a GC scavenging root set pointers from the stack. |
-#define MSAN_UNPOISON(p, s) __msan_unpoison(p, s) |
+#define MSAN_UNPOISON(p, size) __msan_unpoison(p, size) |
+ |
+// Check a memory region for initializedness, as if it was being used here. |
+// If any bits are uninitialized, crash with an MSan report. |
+// Use this to sanitize data which MSan won't be able to track, e.g. before |
+// passing data to another process via shared memory. |
+#define MSAN_CHECK_MEM_IS_INITIALIZED(p, size) \ |
+ __msan_check_mem_is_initialized(p, size) |
#else // MEMORY_SANITIZER |
-#define MSAN_UNPOISON(p, s) |
+#define MSAN_UNPOISON(p, size) |
+#define MSAN_CHECK_MEM_IS_INITIALIZED(p, size) |
#endif // MEMORY_SANITIZER |
// Macro useful for writing cross-platform function pointers. |