[PATCH] D58988: [Sanitizer] Protect UnwindFast with IsValidFrame on MIPS
Julian Lettner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 5 12:26:49 PST 2019
yln marked an inline comment as done.
yln added inline comments.
================
Comment at: compiler-rt/lib/asan/asan_stack.cc:68
if (request_fast) {
- if (t) {
+ if (t && (!SANITIZER_MIPS ||
+ IsValidFrame(bp, t->stack_top(), t->stack_bottom()))) {
----------------
vitalybuka wrote:
> vitalybuka wrote:
> > Previously It protected both.
> > However original commit for this check mentions that MIPS use only Slow and it lacks IsValid check.
> https://reviews.llvm.org/D18690?vs=on&id=52346&whitespace=ignore-most#toc
Just to make sure I understand:
MIPS only uses slow unwinder, which doesn't work when !IsValidFrame, despite it not explicitly taking (bp, top, bottom) as inputs?
To me, that is extremely confusing.
Should we try to make MIPS slow unwinder work (as in: return early without error) for !IsValidFrame? Instead of working around the symptom here?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58988/new/
https://reviews.llvm.org/D58988
More information about the llvm-commits
mailing list