diff --git a/compiler-rt/lib/dfsan/dfsan.cpp b/compiler-rt/lib/dfsan/dfsan.cpp --- a/compiler-rt/lib/dfsan/dfsan.cpp +++ b/compiler-rt/lib/dfsan/dfsan.cpp @@ -551,7 +551,7 @@ } extern "C" void dfsan_flush() { - if (!MmapFixedNoReserve(ShadowAddr(), UnusedAddr() - ShadowAddr())) + if (!MmapFixedSuperNoReserve(ShadowAddr(), UnusedAddr() - ShadowAddr())) Die(); } @@ -560,8 +560,7 @@ ::InitializePlatformEarly(); - if (!MmapFixedSuperNoReserve(ShadowAddr(), UnusedAddr() - ShadowAddr())) - Die(); + dfsan_flush(); if (common_flags()->use_madv_dontdump) DontDumpShadowMemory(ShadowAddr(), UnusedAddr() - ShadowAddr());