Call getPackageInfo() with cleared calling identity in ensureSystemPackageName().

Otherwise non-primary users might get a SecurityException.

Bug: 145981139
Bug: 148763415
Test: manual
Change-Id: I5883e296a0d753e43075cbf0abc5dc4da91e2fca
(cherry picked from commit e693b797bcf0be38f0fc9d878bb5278eacf8b4b1)
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 035dda2..ca66776 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -21231,8 +21231,13 @@
         if (packageName == null) {
             return null;
         }
-        if (getPackageInfo(packageName, MATCH_FACTORY_ONLY, UserHandle.USER_SYSTEM) == null) {
-            return null;
+        long token = Binder.clearCallingIdentity();
+        try {
+            if (getPackageInfo(packageName, MATCH_FACTORY_ONLY, UserHandle.USER_SYSTEM) == null) {
+                return null;
+            }
+        } finally {
+            Binder.restoreCallingIdentity(token);
         }
         return packageName;
     }