diff options
author | Calin Juravle <calin@google.com> | 2021-05-06 15:25:32 -0700 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2021-10-13 20:21:39 +0800 |
commit | f81f54166221fa68492e4c3a19b26047d31741b9 (patch) | |
tree | 101328d27391ecb46123c1cf0d0db3b72b4aeb67 | |
parent | 1ba1f89e6edc78f03d649d09b58b25c7c8d935fe (diff) |
[master] Enforce system/root/shell for dexopt operation.
Dexopt acquires system level locks (e.g. installd locks) so it should
not be called by artbitrary apps via `adb shell` commands.
Test: manual
Bug: 180652564
Change-Id: I385d5346df7721d95edf40c45d06b969870e4bda
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 2a47d14370a3..36f4ac9414ac 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -10017,6 +10017,8 @@ public class PackageManagerService extends IPackageManager.Stub public boolean performDexOptMode(String packageName, boolean checkProfiles, String targetCompilerFilter, boolean force, boolean bootComplete, String splitName) { + enforceSystemOrRootOrShell("performDexOptMode"); + int flags = (checkProfiles ? DexoptOptions.DEXOPT_CHECK_FOR_PROFILES_UPDATES : 0) | (force ? DexoptOptions.DEXOPT_FORCE : 0) | (bootComplete ? DexoptOptions.DEXOPT_BOOT_COMPLETE : 0); |