summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Hai Zhang <zhanghai@google.com> 2021-01-11 09:54:31 -0800
committer Hai Zhang <zhanghai@google.com> 2021-01-11 09:58:44 -0800
commitad65ba4dc9fce9911ff1182130275dc12838a38f (patch)
treeb4d709d206c20e8208457e4c1088d963384ad51e
parentbb45c563c4b28fecf07d5f88240da9271c9b49e8 (diff)
Remove unnecessary locking that causes deadlock.
This was moved from PackageManagerService but we forgot to remove the unnecessary synchronization on mLock, which will result in calling into package manager with the permission lock held. Fixes: 177178190 Test: presubmit Change-Id: I5b4a6a337e94e8483067cac5143e45d08b2eb983
-rw-r--r--services/core/java/com/android/server/pm/permission/PermissionManagerService.java10
1 files changed, 4 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index 004c0154963b..8f422890c973 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -4463,12 +4463,10 @@ public class PermissionManagerService extends IPermissionManager.Stub {
final PermissionPolicyInternal permissionPolicyInternal = LocalServices.getService(
PermissionPolicyInternal.class);
- permissionPolicyInternal.setOnInitializedCallback(userId -> {
- // The SDK updated case is already handled when we run during the ctor.
- synchronized (mLock) {
- updateAllPermissions(StorageManager.UUID_PRIVATE_INTERNAL, false);
- }
- });
+ permissionPolicyInternal.setOnInitializedCallback(userId ->
+ // The SDK updated case is already handled when we run during the ctor.
+ updateAllPermissions(StorageManager.UUID_PRIVATE_INTERNAL, false)
+ );
mSystemReady = true;