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

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

Merge "Short-circuit PIC permission checks for system_server" into main

parents c764c1fb 11731b96
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1701,10 +1701,6 @@ public final class PermissionManager {

    private static int checkPermissionUncached(@Nullable String permission, int pid, int uid,
            int deviceId) {
        final int appId = UserHandle.getAppId(uid);
        if (appId == Process.ROOT_UID || appId == Process.SYSTEM_UID) {
            return PackageManager.PERMISSION_GRANTED;
        }
        final IActivityManager am = ActivityManager.getService();
        if (am == null) {
            // We don't have an active ActivityManager instance and the calling UID is not root or
@@ -1884,6 +1880,12 @@ public final class PermissionManager {

    /** @hide */
    public static int checkPermission(@Nullable String permission, int pid, int uid, int deviceId) {
        // Short-circuit the cache for unconditionally granted permissions. This was previously
        // behind the cache, but placing here avoids marginal cache query overhead in system server.
        final int appId = UserHandle.getAppId(uid);
        if (appId == Process.SYSTEM_UID || appId == Process.ROOT_UID) {
            return PackageManager.PERMISSION_GRANTED;
        }
        return sPermissionCache.query(new PermissionQuery(permission, pid, uid, deviceId));
    }