Fix deadlock caused by synchronous setOccluded() method in keyguard
This fixes a deadlock where WindowManagerService can call into KeyguardService.setOccluded() while holding a lock. As soon as keyguard receives the call, it immediately needs to check permission and calls back into the system service which is waiting for the lock to be released. Boom! The fix does a quick check of the calling UID and allows the call if coming from the System UID, thus bypassing the need for a binder call to checkPermission(). Fixes bug 18362246 Change-Id: Iab4be8a885f330fb2a62ee7e3579966e1447f8b0
Loading
Please register or sign in to comment