diff --git a/compiler-rt/lib/asan/asan_stack.cc b/compiler-rt/lib/asan/asan_stack.cc --- a/compiler-rt/lib/asan/asan_stack.cc +++ b/compiler-rt/lib/asan/asan_stack.cc @@ -65,15 +65,13 @@ if (!unwind_scope.CanUnwind()) return; if (request_fast) { - if (t) { + if (t && (!SANITIZER_MIPS || + IsValidFrame(bp, t->stack_top(), t->stack_bottom()))) { Unwind(max_depth, pc, bp, nullptr, t->stack_top(), t->stack_bottom(), true); } return; } - if (SANITIZER_MIPS && t && - !IsValidFrame(bp, t->stack_top(), t->stack_bottom())) - return; Unwind(max_depth, pc, bp, context, 0, 0, false); }