Merge "Allow system process register AttributionSource for app from other user" into tm-dev am: 6be9288ddb am: d7f5f3233d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18702825 Change-Id: I82a5cc1c15e88c62048468fcdeea6921bef67252 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -966,8 +966,14 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
|
||||
final PackageManagerInternal packageManagerInternal = LocalServices.getService(
|
||||
PackageManagerInternal.class);
|
||||
if (packageManagerInternal.getPackageUid(source.getPackageName(), 0,
|
||||
UserHandle.getUserId(callingUid)) != source.getUid()) {
|
||||
|
||||
// TODO(b/234653108): Clean up this UID/package & cross-user check.
|
||||
// If calling from the system process, allow registering attribution for package from
|
||||
// any user
|
||||
int userId = UserHandle.getUserId((callingUid == Process.SYSTEM_UID ? source.getUid()
|
||||
: callingUid));
|
||||
if (packageManagerInternal.getPackageUid(source.getPackageName(), 0, userId)
|
||||
!= source.getUid()) {
|
||||
throw new SecurityException("Cannot register attribution source for package:"
|
||||
+ source.getPackageName() + " from uid:" + callingUid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user