From e66b3dc8a2a603058d3b063d64c59950c9935ec2 Mon Sep 17 00:00:00 2001 From: Robert Horvath Date: Thu, 10 Feb 2022 16:48:08 +0100 Subject: [PATCH] Annotate setUidFirewallRule with @GuardedBy This method is only called with the lock held. Annotating it helps ErrorProne verify calls to other methods that require the lock to be held are okay. Test: Build Bug: 220270435 Change-Id: I1f6c3c9e339935c06b3edd5436b2b1a7922a67ed Merged-In: I1f6c3c9e339935c06b3edd5436b2b1a7922a67ed --- .../server/net/NetworkPolicyManagerService.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 6a00d06440b97..c2388e979eec0 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -4177,7 +4177,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (mRestrictedNetworkingMode) { // Note: setUidFirewallRule also updates mUidFirewallRestrictedModeRules. // In this case, default firewall rules can also be added. - setUidFirewallRule(FIREWALL_CHAIN_RESTRICTED, uid, + setUidFirewallRuleUL(FIREWALL_CHAIN_RESTRICTED, uid, getRestrictedModeFirewallRule(uidBlockedState)); } } @@ -4341,9 +4341,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { final boolean isWhitelisted = isWhitelistedFromPowerSaveUL(uid, chain == FIREWALL_CHAIN_DOZABLE); if (isWhitelisted || isUidForegroundOnRestrictPowerUL(uid)) { - setUidFirewallRule(chain, uid, FIREWALL_RULE_ALLOW); + setUidFirewallRuleUL(chain, uid, FIREWALL_RULE_ALLOW); } else { - setUidFirewallRule(chain, uid, FIREWALL_RULE_DEFAULT); + setUidFirewallRuleUL(chain, uid, FIREWALL_RULE_DEFAULT); } } } @@ -4389,10 +4389,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { int appId = UserHandle.getAppId(uid); if (!mPowerSaveTempWhitelistAppIds.get(appId) && isUidIdle(uid) && !isUidForegroundOnRestrictPowerUL(uid)) { - setUidFirewallRule(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DENY); + setUidFirewallRuleUL(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DENY); if (LOGD) Log.d(TAG, "updateRuleForAppIdleUL DENY " + uid); } else { - setUidFirewallRule(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DEFAULT); + setUidFirewallRuleUL(FIREWALL_CHAIN_STANDBY, uid, FIREWALL_RULE_DEFAULT); if (LOGD) Log.d(TAG, "updateRuleForAppIdleUL " + uid + " to DEFAULT"); } } finally { @@ -5440,10 +5440,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { /** * Add or remove a uid to the firewall denylist for all network ifaces. */ - private void setUidFirewallRule(int chain, int uid, int rule) { + @GuardedBy("mUidRulesFirstLock") + private void setUidFirewallRuleUL(int chain, int uid, int rule) { if (Trace.isTagEnabled(Trace.TRACE_TAG_NETWORK)) { Trace.traceBegin(Trace.TRACE_TAG_NETWORK, - "setUidFirewallRule: " + chain + "/" + uid + "/" + rule); + "setUidFirewallRuleUL: " + chain + "/" + uid + "/" + rule); } try { if (chain == FIREWALL_CHAIN_DOZABLE) {