Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad65ba4d authored by Hai Zhang's avatar Hai Zhang
Browse files

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
parent bb45c563
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -4463,12 +4463,10 @@ public class PermissionManagerService extends IPermissionManager.Stub {

        final PermissionPolicyInternal permissionPolicyInternal = LocalServices.getService(
                PermissionPolicyInternal.class);
        permissionPolicyInternal.setOnInitializedCallback(userId -> {
        permissionPolicyInternal.setOnInitializedCallback(userId ->
                // The SDK updated case is already handled when we run during the ctor.
            synchronized (mLock) {
                updateAllPermissions(StorageManager.UUID_PRIVATE_INTERNAL, false);
            }
        });
                updateAllPermissions(StorageManager.UUID_PRIVATE_INTERNAL, false)
        );

        mSystemReady = true;