diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 92b98a71f0cb5..ed136e956269c 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -3431,6 +3431,11 @@ class MountService extends IMountService.Stub } public boolean hasExternalStorage(int uid, String packageName) { + // No need to check for system uid. This avoids a deadlock between + // PackageManagerService and AppOpsService. + if (uid == Process.SYSTEM_UID) { + return true; + } // No locking - CopyOnWriteArrayList for (ExternalStorageMountPolicy policy : mPolicies) { final boolean policyHasStorage = policy.hasExternalStorage(uid, packageName);