From 8ff4f48d57974ba1ee1b65eec04d984ad3764f0c Mon Sep 17 00:00:00 2001 From: Zhi Dou Date: Tue, 19 Sep 2023 19:46:22 +0000 Subject: Clear the calling uid if the call is a binder transaction call The method getStringsForPrefix only clear the uid only if the namespace if for policy manager. But now with tunk flag the binder call will be more often. Bug: 300704684 Test: presubmit Change-Id: I43c325b658ed20d43944c4532d7decd2969cffef --- core/java/android/provider/Settings.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 7e71134f55bb..c19c20c8429d 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -3596,12 +3596,9 @@ public final class Settings { } Bundle b; - // b/252663068: if we're in system server and the caller did not call + // If we're in system server and the caller did not call // clearCallingIdentity, the read would fail due to mismatched AttributionSources. - // TODO(b/256013480): remove this bypass after fixing the callers in system server. - if (namespace.equals(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER) - && Settings.isInSystemServer() - && Binder.getCallingUid() != Process.myUid()) { + if (Settings.isInSystemServer() && Binder.getCallingUid() != Process.myUid()) { final long token = Binder.clearCallingIdentity(); try { // Fetch all flags for the namespace at once for caching purposes -- cgit v1.2.3-59-g8ed1b