From bbebaf7a10f1974318adfa7c923b068c96d164bf Mon Sep 17 00:00:00 2001 From: Marco Ballesio Date: Tue, 26 Jan 2021 09:49:23 -0800 Subject: [PATCH] ActivityManagerService: all users can handle freezer state in debug builds Processes whose proxy maps exceed CRASH_AT_SIZE might need to disable the freezer prior dumping their binding for debug purposes. This happens on builds with the IS_DEBUGGABLE flag set, so ActivityManager needs to allow freezer state toggling from any user in this case. Bug: 178037173 Test: booted device with userdebug, forced interface dumps from all binder proxies with no crashes. Change-Id: Ib1f5c7f6ad2b404d56fef566b3d9f17730592762 --- .../core/java/com/android/server/am/ActivityManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 3f4878e380291..0f6c8fe55d144 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -20367,7 +20367,7 @@ public class ActivityManagerService extends IActivityManager.Stub int callerUid = Binder.getCallingUid(); // Only system can toggle the freezer state - if (callerUid == SYSTEM_UID) { + if (callerUid == SYSTEM_UID || Build.IS_DEBUGGABLE) { return mOomAdjuster.mCachedAppOptimizer.enableFreezer(enable); } else { throw new SecurityException("Caller uid " + callerUid + " cannot set freezer state ");