From 8de3e3b0f68c8911b709619920135ddab3218925 Mon Sep 17 00:00:00 2001 From: Songchun Fan Date: Mon, 14 Feb 2022 19:20:38 +0000 Subject: [PATCH] [SharedUserSetting] fix shared user migration In ag/16740473 we missed the case when a package is migrating off from shared user. Thanks topjohnwu@ for pointing it out! BUG: 219376382 Test: atest android.uidmigration.cts.SharedUserMigrationTest Change-Id: I11d117a1ea61e63f18891eb002a7c475f3abbe2b --- services/core/java/com/android/server/pm/Settings.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index c19e7585b1e6b..936da4a2287c0 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -24,6 +24,7 @@ import static android.content.pm.PackageManager.INSTALL_FAILED_UID_CHANGED; import static android.content.pm.PackageManager.MATCH_DEFAULT_ONLY; import static android.content.pm.PackageManager.UNINSTALL_REASON_UNKNOWN; import static android.content.pm.PackageManager.UNINSTALL_REASON_USER_TYPE; +import static android.os.Process.INVALID_UID; import static android.os.Process.PACKAGE_INFO_GID; import static android.os.Process.SYSTEM_UID; @@ -1117,6 +1118,9 @@ public final class Settings implements Watchable, Snappable { "Updating application package " + pkgName + " failed"); } pkgSetting.setSharedUserAppId(sharedUser.mAppId); + } else { + // migrating off shared user + pkgSetting.setSharedUserAppId(INVALID_UID); } if (!pkgSetting.getPath().equals(codePath)) {