diff options
| author | 2022-02-03 15:49:40 +0100 | |
|---|---|---|
| committer | 2022-02-09 17:58:45 +0100 | |
| commit | 10aa9fd06f491c3d3dbeabfd5040b08cf9f0767c (patch) | |
| tree | 1309d9e37589bafc2f1dd21dc5fc8fdd055f8a24 | |
| parent | 5fa64ead9079ec89e06ad87162422ec891b74ba6 (diff) | |
Make isCallerSameApp() correct for supplemental processes.
UIDs from the new supplemental process range must always map back to the
supplemental package.
Bug: 215012578
Test: atest SupplementalProcessTests, TEST_MAPPING
Change-Id: I867d163de74dd83a39936c6304a58888b921e992
| -rw-r--r-- | services/core/java/com/android/server/pm/ComputerEngine.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java index c942a4357900..2011528eabca 100644 --- a/services/core/java/com/android/server/pm/ComputerEngine.java +++ b/services/core/java/com/android/server/pm/ComputerEngine.java @@ -2369,6 +2369,10 @@ public class ComputerEngine implements Computer { } public final boolean isCallerSameApp(String packageName, int uid) { + if (Process.isSupplemental(uid)) { + return (packageName != null + && packageName.equals(mService.getSupplementalProcessPackageName())); + } AndroidPackage pkg = mPackages.get(packageName); return pkg != null && UserHandle.getAppId(uid) == pkg.getUid(); |