From c6ea7fc45ef147fa9e9c4f424faa1628bf954534 Mon Sep 17 00:00:00 2001 From: Fyodor Kupolov Date: Mon, 6 Feb 2017 14:36:50 -0800 Subject: [PATCH] Log.wtf all privapp-permissions in a single message Test: manual Bug: 34872687 Change-Id: Ib67604db73dada235f16e91a41e52a8c8ea625bf --- .../android/server/pm/PackageManagerService.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 4207998c9dccc..834549111964c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -836,6 +836,8 @@ public class PackageManagerService extends IPackageManager.Stub { private File mCacheDir; + private ArraySet mPrivappPermissionsViolations; + private static class IFVerificationParams { PackageParser.Package pkg; boolean replacing; @@ -11543,6 +11545,12 @@ public class PackageManagerService extends IPackageManager.Stub { if (!whitelisted) { Slog.w(TAG, "Privileged permission " + perm + " for package " + pkg.packageName + " - not in privapp-permissions whitelist"); + if (!mSystemReady) { + if (mPrivappPermissionsViolations == null) { + mPrivappPermissionsViolations = new ArraySet<>(); + } + mPrivappPermissionsViolations.add(pkg.packageName + ": " + perm); + } if (RoSystemProperties.CONTROL_PRIVAPP_PERMISSIONS_ENFORCE) { return false; } @@ -19972,6 +19980,12 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); // Now that we're mostly running, clean up stale users and apps sUserManager.reconcileUsers(StorageManager.UUID_PRIVATE_INTERNAL); reconcileApps(StorageManager.UUID_PRIVATE_INTERNAL); + + if (mPrivappPermissionsViolations != null) { + Slog.wtf(TAG,"Signature|privileged permissions not in " + + "privapp-permissions whitelist: " + mPrivappPermissionsViolations); + mPrivappPermissionsViolations = null; + } } @Override