diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 3aaecc7a84244..dec7f0790fdff 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1130,6 +1130,12 @@ android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="signature" /> + + + diff --git a/services/core/java/com/android/server/PersistentDataBlockService.java b/services/core/java/com/android/server/PersistentDataBlockService.java index 17edb5372cdd6..9d4cd99acf8e2 100644 --- a/services/core/java/com/android/server/PersistentDataBlockService.java +++ b/services/core/java/com/android/server/PersistentDataBlockService.java @@ -433,7 +433,10 @@ public class PersistentDataBlockService extends SystemService { @Override public int getDataBlockSize() { - enforceUid(Binder.getCallingUid()); + if (mContext.checkCallingPermission(Manifest.permission.ACCESS_PDB_STATE) + != PackageManager.PERMISSION_GRANTED) { + enforceUid(Binder.getCallingUid()); + } DataInputStream inputStream; try {