diff options
| author | 2023-11-02 10:25:37 +0000 | |
|---|---|---|
| committer | 2023-11-08 01:59:09 +0000 | |
| commit | 1e7589afb39cfe04f9f13a87e77a0ec479604a3f (patch) | |
| tree | 4c0044c26dc222d1c91896d59e19338c4916228d /libs/androidfw/AttributeResolution.cpp | |
| parent | 5ea095ca58eac7f5ae1011793f054ac2bebd81f8 (diff) | |
Fix deadlock between PackageManager and DisplayManager
UpdateOwnershipHelper#readUpdateOwnerDenyList calls getResources()
that will call getDisplayMetrics. In DisplayMetrics() that needs to
access a lock in DisplayManagerGlobal. When calling this method
inside mPm.mLock, it may trigger the deadlock between PackageManager
and DisplayManager.
To fix this issue, try to get the denylist in the handler thread and
outside the mPm.mLock.
Bug: 305615356
Test: manual. Add logs to make sure getResources() doesn't be called
inside mPm.mLock
Change-Id: I3dea7b1df6f115d7c1cffda6a9d51070a5d7dd80
Diffstat (limited to 'libs/androidfw/AttributeResolution.cpp')
0 files changed, 0 insertions, 0 deletions