summaryrefslogtreecommitdiffstats
path: root/contrib/python/cryptography/next/rust/msan.cpp
diff options
context:
space:
mode:
authorYDBot <[email protected]>2026-05-26 01:24:39 +0000
committerYDBot <[email protected]>2026-05-26 01:24:39 +0000
commit552805ba214353eb745e00c0b1435554e813702d (patch)
tree6293ac6c5059e562b7409d711835fc4047b26bc0 /contrib/python/cryptography/next/rust/msan.cpp
parent9a68beaf1fd935288c8f921e35568f3625ea9c97 (diff)
parent513544ea1a705bb37aa9a255ae172a5ff8af1170 (diff)
Sync branches 260526-0121
Diffstat (limited to 'contrib/python/cryptography/next/rust/msan.cpp')
-rw-r--r--contrib/python/cryptography/next/rust/msan.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/contrib/python/cryptography/next/rust/msan.cpp b/contrib/python/cryptography/next/rust/msan.cpp
new file mode 100644
index 00000000000..c653958f4b0
--- /dev/null
+++ b/contrib/python/cryptography/next/rust/msan.cpp
@@ -0,0 +1,23 @@
+#include <stdint.h>
+#include <cstddef>
+
+typedef size_t uptr;
+typedef uint32_t u32;
+
+// defined in clang{XX}-rt/msan
+extern "C" void __msan_set_alloca_origin_with_descr(void *a, uptr size, u32 *id_ptr, char *descr);
+extern "C" void __msan_unpoison(void *a, uptr size);
+
+
+extern "C" void __safe_msan_set_alloca_origin_with_descr(void *a, uptr size, u32 *id_ptr, char *descr) {
+ __msan_set_alloca_origin_with_descr(a, size, id_ptr, descr);
+ __msan_unpoison(a, size);
+}
+
+
+extern "C" void* malloc(size_t size);
+extern "C" void *__safe_malloc(size_t size) {
+ void* ret = malloc(size);
+ __msan_unpoison(ret, size);
+ return ret;
+}