aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/util/c++/clang-test.cpp
diff options
context:
space:
mode:
authorMark Rutland <[email protected]>2019-07-02 14:07:29 +0100
committerWill Deacon <[email protected]>2019-07-22 11:44:15 +0100
commit592700f094be229b5c9cc1192d5cea46eb4c7afc (patch)
tree94b98dd3d350970646a4d5d40227daa00d645945 /tools/perf/util/c++/clang-test.cpp
parentf3dcbe67ed424f1cf92065f9ad0cc647f2b44eac (diff)
arm64: stacktrace: Better handle corrupted stacks
The arm64 stacktrace code is careful to only dereference frame records in valid stack ranges, ensuring that a corrupted frame record won't result in a faulting access. However, it's still possible for corrupt frame records to result in infinite loops in the stacktrace code, which is also undesirable. This patch ensures that we complete a stacktrace in finite time, by keeping track of which stacks we have already completed unwinding, and verifying that if the next frame record is on the same stack, it is at a higher address. As this has turned out to be particularly subtle, comments are added to explain the procedure. Signed-off-by: Mark Rutland <[email protected]> Reviewed-by: James Morse <[email protected]> Tested-by: James Morse <[email protected]> Acked-by: Dave Martin <[email protected]> Acked-by: Catalin Marinas <[email protected]> Cc: Tengfei Fan <[email protected]> Signed-off-by: Will Deacon <[email protected]>
Diffstat (limited to 'tools/perf/util/c++/clang-test.cpp')
0 files changed, 0 insertions, 0 deletions