summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-10-15 22:30:40 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-10-15 22:30:40 +0000
commita5d896cd29acdd881f56fa4a174e72554d7811a4 (patch)
tree81bf823c2e46ed0c07b21e0d138b92a54383d172
parentcf2e1f67545760dc5c967e2ec121920b04bf4e09 (diff)
parent1165d39ab805a4d338e335c87a085fde13954066 (diff)
Merge "Clear caller identity before updating restrictions" into main
-rw-r--r--services/core/java/com/android/server/net/NetworkPolicyManagerService.java30
1 files changed, 20 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index a6f4c0e597d1..2a3be1e119bf 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -3100,11 +3100,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
}
synchronized (mUidRulesFirstLock) {
- final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
- policy |= oldPolicy;
- if (oldPolicy != policy) {
- setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
- mLogger.uidPolicyChanged(uid, oldPolicy, policy);
+ final long token = Binder.clearCallingIdentity();
+ try {
+ final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
+ policy |= oldPolicy;
+ if (oldPolicy != policy) {
+ setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
+ mLogger.uidPolicyChanged(uid, oldPolicy, policy);
+ }
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
}
}
@@ -3119,11 +3124,16 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
}
synchronized (mUidRulesFirstLock) {
- final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
- policy = oldPolicy & ~policy;
- if (oldPolicy != policy) {
- setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
- mLogger.uidPolicyChanged(uid, oldPolicy, policy);
+ final long token = Binder.clearCallingIdentity();
+ try {
+ final int oldPolicy = mUidPolicy.get(uid, POLICY_NONE);
+ policy = oldPolicy & ~policy;
+ if (oldPolicy != policy) {
+ setUidPolicyUncheckedUL(uid, oldPolicy, policy, true);
+ mLogger.uidPolicyChanged(uid, oldPolicy, policy);
+ }
+ } finally {
+ Binder.restoreCallingIdentity(token);
}
}
}