summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/pm/PackageManagerService.java
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2013-10-22 16:42:39 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-10-22 16:42:39 -0700
commitd34e1155226e8885d51c05209c7c87503528a2db (patch)
tree11fbb5b5a8aa19bd4b17d09826a841aa9b6f74f7 /services/java/com/android/server/pm/PackageManagerService.java
parentdeba7bb0ca821d219a384c3d611e8a25da32e07d (diff)
parent5f474fcb6d6a0215f7726580921e0610ca6281a1 (diff)
am 5f474fcb: Merge "Edge case: overriden system package moved & became privileged in OTA" into klp-dev
* commit '5f474fcb6d6a0215f7726580921e0610ca6281a1': Edge case: overriden system package moved & became privileged in OTA
Diffstat (limited to 'services/java/com/android/server/pm/PackageManagerService.java')
-rwxr-xr-xservices/java/com/android/server/pm/PackageManagerService.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 95dc3738d0bc..e075862a2cc2 100755
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -3585,7 +3585,13 @@ public class PackageManagerService extends IPackageManager.Stub {
+ ps.name + " changing from " + updatedPkg.codePathString
+ " to " + scanFile);
updatedPkg.codePath = scanFile;
- updatedPkg.codePathString = scanFile.toString();
+ updatedPkg.codePathString = scanFile.toString();
+ // This is the point at which we know that the system-disk APK
+ // for this package has moved during a reboot (e.g. due to an OTA),
+ // so we need to reevaluate it for privilege policy.
+ if (locationIsPrivileged(scanFile)) {
+ updatedPkg.pkgFlags |= ApplicationInfo.FLAG_PRIVILEGED;
+ }
}
updatedPkg.pkg = pkg;
mLastScanError = PackageManager.INSTALL_FAILED_DUPLICATE_PACKAGE;