Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[hwasan] Fix and re-enable deep-recursion.c (#69265)
deep-recursion.c was disabled (c007e0f) because the test may get unlucky and end up with a zero-tagged variable, leading to a false negative (#69221). This patch re-enables the test and adds a workaround: it checks if the variable is zero-tagged, and if so, it will instead use the neighboring variable, which must have a different (hence non-zero) tag. Fixing the stack allocation tagging is left as an exercise for the reader. It is non-trivial because, even if the stackTagBase is non-zero, tags for subsequent allocations in the stack frame may wrap around to zero; working around this would require adding multiple instructions to each alloca. --------- Co-authored-by: Thurston Dang <thurston@google.com>
- Loading branch information