platform_system_core/libbacktrace
Christopher Ferris f5e568e653 Do not access device maps.
It's possible that a device map has memory controlled by a single entry
device driver. Thus, you can deadlock if a process is touching that
device memory and we try to unwind it and also touch that device memory.
Simply skip any attempts to step through, or get function names from
device memory maps.

Bug: 36130325

Test: Ran new unit tests, ran bionic unit tests, ran art ThreadStress.
Change-Id: Ibc62d7ec8106c619ee08968f05e04aea55d7cbfa
2017-03-22 14:55:05 -07:00
..
testdata libbacktraceoffline: choose correct debug section for a given address. 2017-02-10 17:51:16 -08:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
Android.bp Enable more modules on linux_bionic builds 2017-03-15 15:44:00 -07:00
Backtrace.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
backtrace_offline_test.cpp libbacktraceoffline: choose correct debug section for a given address. 2017-02-10 17:51:16 -08:00
backtrace_test.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
backtrace_testlib.c libbacktrace_offline: support .ARM.exidx. 2016-12-07 10:25:33 -08:00
BacktraceCurrent.cpp Restore errno in signal handlers. 2017-03-10 10:13:48 -08:00
BacktraceCurrent.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
BacktraceLog.h liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
BacktraceMap.cpp liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
BacktraceOffline.cpp libbacktraceoffline: make it thread-safe. 2017-02-13 10:35:06 -08:00
BacktraceOffline.h libbacktrace_offline: support .ARM.exidx. 2016-12-07 10:25:33 -08:00
BacktracePtrace.cpp Revert "Use process_vm_readv to read memory." 2016-11-10 23:19:30 +00:00
BacktracePtrace.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
GetPss.cpp Fix misc-macro-parentheses warnings in adb, debuggerd, libbacktrace. 2016-05-18 15:53:15 -07:00
GetPss.h Create an UnwindMapLocal object. 2014-04-03 14:19:24 -07:00
thread_utils.c Remove libbacktrace definition of gettid. 2015-05-13 13:44:34 -07:00
thread_utils.h Fix libbacktrace host build. 2015-12-07 20:09:24 -08:00
ThreadEntry.cpp Modify the code to avoid potential deadlocks. 2015-06-01 14:10:17 -07:00
ThreadEntry.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindCurrent.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
UnwindCurrent.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindMap.cpp Fix race condition updating local map data. 2016-06-16 23:28:11 -07:00
UnwindMap.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindPtrace.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
UnwindPtrace.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00