diff --git a/compiler-rt/lib/scudo/standalone/trusty.cpp b/compiler-rt/lib/scudo/standalone/trusty.cpp --- a/compiler-rt/lib/scudo/standalone/trusty.cpp +++ b/compiler-rt/lib/scudo/standalone/trusty.cpp @@ -50,7 +50,8 @@ if (IS_ERR(P)) { errno = lk_err_to_errno(PTR_ERR(P)); - dieOnMapUnmapError(Size); + if (!(Flags & MAP_ALLOWNOMEM) || errno != ENOMEM) + dieOnMapUnmapError(Size); return nullptr; }