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

Commit fdd9b804 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use per-user Shell UID for adoptShellPermissionIdentity()."

parents 56732860 e6fe4bc8
Loading
Loading
Loading
Loading
+9 −5
Original line number Diff line number Diff line
@@ -17289,10 +17289,11 @@ public class ActivityManagerService extends IActivityManager.Stub
        public int checkOperation(int code, int uid, String packageName, boolean raw,
                QuadFunction<Integer, Integer, String, Boolean, Integer> superImpl) {
            if (uid == mTargetUid && isTargetOp(code)) {
                final int shellUid = UserHandle.getUid(UserHandle.getUserId(uid),
                        Process.SHELL_UID);
                final long identity = Binder.clearCallingIdentity();
                try {
                    return superImpl.apply(code, Process.SHELL_UID,
                            "com.android.shell", raw);
                    return superImpl.apply(code, shellUid, "com.android.shell", raw);
                } finally {
                    Binder.restoreCallingIdentity(identity);
                }
@@ -17304,10 +17305,11 @@ public class ActivityManagerService extends IActivityManager.Stub
        public int checkAudioOperation(int code, int usage, int uid, String packageName,
                QuadFunction<Integer, Integer, Integer, String, Integer> superImpl) {
            if (uid == mTargetUid && isTargetOp(code)) {
                final int shellUid = UserHandle.getUid(UserHandle.getUserId(uid),
                        Process.SHELL_UID);
                final long identity = Binder.clearCallingIdentity();
                try {
                    return superImpl.apply(code, usage, Process.SHELL_UID,
                            "com.android.shell");
                    return superImpl.apply(code, usage, shellUid, "com.android.shell");
                } finally {
                    Binder.restoreCallingIdentity(identity);
                }
@@ -17322,9 +17324,11 @@ public class ActivityManagerService extends IActivityManager.Stub
                @NonNull HeptFunction<Integer, Integer, String, String, Boolean, String, Boolean,
                        Integer> superImpl) {
            if (uid == mTargetUid && isTargetOp(code)) {
                final int shellUid = UserHandle.getUid(UserHandle.getUserId(uid),
                        Process.SHELL_UID);
                final long identity = Binder.clearCallingIdentity();
                try {
                    return superImpl.apply(code, Process.SHELL_UID, "com.android.shell", featureId,
                    return superImpl.apply(code, shellUid, "com.android.shell", featureId,
                            shouldCollectAsyncNotedOp, message, shouldCollectMessage);
                } finally {
                    Binder.restoreCallingIdentity(identity);