summaryrefslogtreecommitdiff
path: root/storage/innobase/os/os0proc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/os/os0proc.cc')
-rw-r--r--storage/innobase/os/os0proc.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/storage/innobase/os/os0proc.cc b/storage/innobase/os/os0proc.cc
index 70f389436fa..60057880c18 100644
--- a/storage/innobase/os/os0proc.cc
+++ b/storage/innobase/os/os0proc.cc
@@ -157,6 +157,12 @@ os_mem_free_large(
{
ut_a(os_total_large_mem_allocated >= size);
+ // We could have manually poisoned that memory for ASAN.
+ // And we must unpoison it by ourself as specified in documentation
+ // for __asan_poison_memory_region() in sanitizer/asan_interface.h
+ // munmap() doesn't do it for us automatically.
+ UNIV_MEM_ALLOC(ptr, size);
+
#ifdef HAVE_LINUX_LARGE_PAGES
if (my_use_large_pages && opt_large_page_size && !shmdt(ptr)) {
my_atomic_addlint(