[compiler-rt] [asan] Add experimental 'poison_history_size' flag (PR #133175)

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 10 11:00:55 PDT 2025


================
@@ -600,6 +602,43 @@ static void PrintShadowMemoryForAddress(uptr addr) {
   Printf("%s", str.data());
 }
 
+static void CheckPoisonRecords(uptr addr) {
+  if (!AddrIsInMem(addr))
+    return;
+  uptr shadow_addr = MemToShadow(addr);
+  unsigned char poison_magic = *(reinterpret_cast<u8 *>(shadow_addr));
+
+  if (poison_magic != kAsanUserPoisonedMemoryMagic)
----------------
vitalybuka wrote:

probably we need to find the first poisoned byte in the (addr, access_size) and 
lookup by that.

For partial granules, the next byte must be the magic.

https://github.com/llvm/llvm-project/pull/133175


More information about the llvm-commits mailing list