asan uses mmap() internally, so allow mmap() calls in asan builds

PiperOrigin-RevId: 358802336
Change-Id: I26fa891cc9fffcfd32f6b18a63b39d6f2282ff7d
This commit is contained in:
Sandboxed API Team 2021-02-22 06:01:48 -08:00 committed by Copybara-Service
parent 298271f0a7
commit 508c7066a6

View File

@ -205,6 +205,10 @@ PolicyBuilder& PolicyBuilder::AllowLlvmSanitizers() {
}
if constexpr (sapi::sanitizers::IsASan()) {
AllowSyscall(__NR_sigaltstack);
// asan uses a custom allocator that runs mmap under the hood. For example:
// https://github.com/llvm/llvm-project/blob/596d534ac3524052df210be8d3c01a33b2260a42/compiler-rt/lib/asan/asan_allocator.cpp#L980
// https://github.com/llvm/llvm-project/blob/62ec4ac90738a5f2d209ed28c822223e58aaaeb7/compiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h#L98
AllowMmap();
}
return *this;
}