Revert "Do not allow adb to set shell, system, or root uid app ops"
This reverts commit f898bd1bd7fe95893b0a406f5b8557ab427a62d4.
Reason for revert: Potential culprit for b/311438606 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: I6fa4e6465516feb7c6480ca9ce66bed5ee3dbe3d
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index 1a9bc93..d6997da 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -223,12 +223,6 @@
// Constant meaning that any UID should be matched when dispatching callbacks
private static final int UID_ANY = -2;
- private static final int[] ADB_NON_SETTABLE_APP_IDS = {
- Process.ROOT_UID,
- Process.SYSTEM_UID,
- Process.SHELL_UID,
- };
-
private static final int[] OPS_RESTRICTED_ON_SUSPEND = {
OP_PLAY_AUDIO,
OP_RECORD_AUDIO,
@@ -4983,32 +4977,17 @@
}
if (!shell.targetsUid && shell.packageName != null) {
- if (ArrayUtils.contains(ADB_NON_SETTABLE_APP_IDS,
- UserHandle.getAppId(shell.packageUid))) {
- err.println("Error: Cannot set app ops for uid " + shell.packageUid);
- return -1;
- }
shell.mInterface.setMode(shell.op, shell.packageUid, shell.packageName,
mode);
} else if (shell.targetsUid && shell.packageName != null) {
try {
final int uid = shell.mInternal.mContext.getPackageManager()
.getPackageUidAsUser(shell.packageName, shell.userId);
- if (ArrayUtils.contains(ADB_NON_SETTABLE_APP_IDS,
- UserHandle.getAppId(uid))) {
- err.println("Error: Cannot set app ops for uid " + uid);
- return -1;
- }
shell.mInterface.setUidMode(shell.op, uid, mode);
} catch (PackageManager.NameNotFoundException e) {
return -1;
}
} else {
- if (ArrayUtils.contains(ADB_NON_SETTABLE_APP_IDS,
- UserHandle.getAppId(shell.nonpackageUid))) {
- err.println("Error: Cannot set app ops for uid " + shell.nonpackageUid);
- return -1;
- }
shell.mInterface.setUidMode(shell.op, shell.nonpackageUid, mode);
}
return 0;