Merge "Prevent system uid component from running in an app process" into klp-dev

This commit is contained in:
Wale Ogunwale
2015-07-01 16:06:32 +00:00
committed by Android (Google) Code Review

View File

@ -2526,9 +2526,14 @@ public final class ActivityManagerService extends ActivityManagerNative
// should never happen). // should never happen).
SparseArray<ProcessRecord> procs = mProcessNames.getMap().get(processName); SparseArray<ProcessRecord> procs = mProcessNames.getMap().get(processName);
if (procs == null) return null; if (procs == null) return null;
final int N = procs.size(); final int procCount = procs.size();
for (int i = 0; i < N; i++) { for (int i = 0; i < procCount; i++) {
if (UserHandle.isSameUser(procs.keyAt(i), uid)) return procs.valueAt(i); final int procUid = procs.keyAt(i);
if (UserHandle.isApp(procUid) || !UserHandle.isSameUser(procUid, uid)) {
// Don't use an app process or different user process for system component.
continue;
}
return procs.valueAt(i);
} }
} }
ProcessRecord proc = mProcessNames.get(processName, uid); ProcessRecord proc = mProcessNames.get(processName, uid);