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

Commit dc9cfca8 authored by Wale Ogunwale's avatar Wale Ogunwale Committed by Android (Google) Code Review
Browse files

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

parents 9edf7ad5 78a22fd2
Loading
Loading
Loading
Loading
+8 −3
Original line number Original line Diff line number Diff line
@@ -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);