[compiler-rt] dc4d9d6 - [msan] Release origin pages with shadow
Vitaly Buka via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 22 17:07:25 PDT 2023
Author: Vitaly Buka
Date: 2023-06-22T17:07:02-07:00
New Revision: dc4d9d615f96338ece28bf66f5839db7352f0859
URL: https://github.com/llvm/llvm-project/commit/dc4d9d615f96338ece28bf66f5839db7352f0859
DIFF: https://github.com/llvm/llvm-project/commit/dc4d9d615f96338ece28bf66f5839db7352f0859.diff
LOG: [msan] Release origin pages with shadow
Added:
Modified:
compiler-rt/lib/msan/msan_poisoning.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/msan/msan_poisoning.cpp b/compiler-rt/lib/msan/msan_poisoning.cpp
index af01aa69f78f6..1889e980bfc0e 100644
--- a/compiler-rt/lib/msan/msan_poisoning.cpp
+++ b/compiler-rt/lib/msan/msan_poisoning.cpp
@@ -216,6 +216,13 @@ void SetShadow(const void *ptr, uptr size, u8 value) {
}
if (!MmapFixedSuperNoReserve(page_beg, page_end - page_beg))
Die();
+
+ if (__msan_get_track_origins()) {
+ // No need to set origin for zero shadow, but we can release pages.
+ uptr origin_beg = RoundUpTo(MEM_TO_ORIGIN(ptr), PageSize);
+ if (!MmapFixedSuperNoReserve(origin_beg, page_end - page_beg))
+ Die();
+ }
}
}
}
More information about the llvm-commits
mailing list