From f5e600d073e7b3c7a6ba36c904c9d51acfaaf6ff Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Wed, 25 Oct 2017 17:03:50 -0700 Subject: [PATCH] Only log a warning if it's an actual violation Otherwise the message can be confusing if deny-permission is used or app is updated. Test: manual Bug: 64693550 Change-Id: I19943d8cbd13a5173356a32565db88856428009e --- .../pm/permission/PermissionManagerService.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java index 41b1add4144fb..a4a8e6fd35273 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java @@ -996,8 +996,6 @@ public class PermissionManagerService { if (!privappPermissionsDisable && privilegedPermission && pkg.isPrivileged() && !platformPackage && platformPermission) { if (!hasPrivappWhitelistEntry(perm, pkg)) { - Slog.w(TAG, "Privileged permission " + perm + " for package " - + pkg.packageName + " - not in privapp-permissions whitelist"); // Only report violations for apps on system image if (!mSystemReady && !pkg.isUpdatedSystemApp()) { // it's only a reportable violation if the permission isn't explicitly denied @@ -1005,12 +1003,16 @@ public class PermissionManagerService { .getPrivAppDenyPermissions(pkg.packageName); final boolean permissionViolation = deniedPermissions == null || !deniedPermissions.contains(perm); - if (permissionViolation - && RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) { - if (mPrivappPermissionsViolations == null) { - mPrivappPermissionsViolations = new ArraySet<>(); + if (permissionViolation) { + Slog.w(TAG, "Privileged permission " + perm + " for package " + + pkg.packageName + " - not in privapp-permissions whitelist"); + + if (RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) { + if (mPrivappPermissionsViolations == null) { + mPrivappPermissionsViolations = new ArraySet<>(); + } + mPrivappPermissionsViolations.add(pkg.packageName + ": " + perm); } - mPrivappPermissionsViolations.add(pkg.packageName + ": " + perm); } else { return false; }