From 17b2b93bda00aee58e9a278d4d93dafc97084c96 Mon Sep 17 00:00:00 2001 From: Dario Freni Date: Mon, 8 Nov 2021 12:08:47 +0000 Subject: [PATCH] Detect system_ext provenance for APKs-in-APEX The previous code mistakenly attributes APKs contained in an APEX loaded to the system_ext partition as coming from the system partition. This affects, for example, where PackageManager expects the permission allowlist to be read from (e.g. /system_ext/etc/permissions/*.xml). Test: atest ApkInApexTests (in I4cec3fdf05f2ab1a3b5032870a74562aed53cb95) Merged-In: I690618727ebf9a61f07b3925b30e7631d33c4e8e Change-Id: I690618727ebf9a61f07b3925b30e7631d33c4e8e --- .../core/java/com/android/server/pm/PackageManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 827dfc0caa16a..1a0a885d88b4c 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -21918,7 +21918,7 @@ public class PackageManagerService extends IPackageManager.Stub for (int i = 0, size = SYSTEM_PARTITIONS.size(); i < size; i++) { ScanPartition sp = SYSTEM_PARTITIONS.get(i); if (apexInfo.preInstalledApexPath.getAbsolutePath().startsWith( - sp.getFolder().getAbsolutePath())) { + sp.getFolder().getAbsolutePath() + File.separator)) { return new ScanPartition(apexInfo.apexDirectory, sp, SCAN_AS_APK_IN_APEX); } }