Forked from
Dhina17 / platform_frameworks_base
Source project has a limited visibility.
Andreas Gampe
authored
Add an agent-based lock inversion checker. The agent will dynamically rewrite bytecode to inject calls to LockHook, which runs a checker on these. Implement a simple on-thread checker that keeps a per-thread stack of locks and a global map of lock ordering. As-is, transitivity of checks is not guaranteed, but should be captured in most practical cases. To run a process with the lock checker, start the process with the agent. The helper script start_with_lockagent.sh can be used for this: adb shell setprop wrap.pkg-name script start_with_lockagent Bug: 124744938 Test: manual Change-Id: Idd9a7066a5b8cb8c0de2e995f08759c98d9473e1