Skip to content

Commit d42d72c

Browse files
ogunwaleThe Android Automerger
authored andcommitted
Prevent system uid component from running in an app process
Bug: 21669445 Change-Id: I11d0bc5301d7e2a64972221f54f3cbd611f8e404 (cherry picked from commit 4436856)
1 parent b481410 commit d42d72c

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

services/core/java/com/android/server/am/ActivityManagerService.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2691,9 +2691,14 @@ final ProcessRecord getProcessRecordLocked(String processName, int uid, boolean
26912691
// should never happen).
26922692
SparseArray<ProcessRecord> procs = mProcessNames.getMap().get(processName);
26932693
if (procs == null) return null;
2694-
final int N = procs.size();
2695-
for (int i = 0; i < N; i++) {
2696-
if (UserHandle.isSameUser(procs.keyAt(i), uid)) return procs.valueAt(i);
2694+
final int procCount = procs.size();
2695+
for (int i = 0; i < procCount; i++) {
2696+
final int procUid = procs.keyAt(i);
2697+
if (UserHandle.isApp(procUid) || !UserHandle.isSameUser(procUid, uid)) {
2698+
// Don't use an app process or different user process for system component.
2699+
continue;
2700+
}
2701+
return procs.valueAt(i);
26972702
}
26982703
}
26992704
ProcessRecord proc = mProcessNames.get(processName, uid);

0 commit comments

Comments
 (0)