[PATCH] D58988: [Sanitizer] Protect UnwindFast with IsValidFrame on MIPS
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 5 12:52:02 PST 2019
vitalybuka 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()))) {
----------------
yln wrote:
> 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?
Correct.
It would be nice if you have time for this.
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