Index: src/base/platform/platform-linux.cc |
diff --git a/src/base/platform/platform-linux.cc b/src/base/platform/platform-linux.cc |
index 1323a0dd91efc1751ea17b163f0ff0ae4c3095c6..f00acf1892c50029b28a6e20a33a80e3f8e2e090 100644 |
--- a/src/base/platform/platform-linux.cc |
+++ b/src/base/platform/platform-linux.cc |
@@ -375,6 +375,14 @@ bool VirtualMemory::UncommitRegion(void* base, size_t size) { |
kMmapFdOffset) != MAP_FAILED; |
} |
+bool VirtualMemory::ReleasePartialRegion(void* base, size_t size, |
+ void* free_start, size_t free_size) { |
+#if defined(LEAK_SANITIZER) |
+ __lsan_unregister_root_region(base, size); |
+ __lsan_register_root_region(base, size - free_size); |
+#endif |
+ return munmap(free_start, free_size) == 0; |
+} |
bool VirtualMemory::ReleaseRegion(void* base, size_t size) { |
#if defined(LEAK_SANITIZER) |