Replace RW lock with mutex, shared_mutex

Test: built, flashed, booted
      system/netd/tests/runtests.sh passes
Change-Id: I42b52d815b6ba0ba6f93dc27e83a900d2abec715
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index ed5156f..ac709a0 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -149,12 +149,12 @@
 }
 
 unsigned NetworkController::getDefaultNetwork() const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return mDefaultNetId;
 }
 
 int NetworkController::setDefaultNetwork(unsigned netId) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
 
     if (netId == mDefaultNetId) {
         return 0;
@@ -241,14 +241,14 @@
 }
 
 uint32_t NetworkController::getNetworkForDns(unsigned* netId, uid_t uid) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return getNetworkForDnsLocked(netId, uid);
 }
 
 // Returns the NetId that a given UID would use if no network is explicitly selected. Specifically,
 // the VPN that applies to the UID if any; otherwise, the default network.
 unsigned NetworkController::getNetworkForUser(uid_t uid) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     if (VirtualNetwork* virtualNetwork = getVirtualNetworkForUserLocked(uid)) {
         return virtualNetwork->getNetId();
     }
@@ -278,13 +278,13 @@
 }
 
 unsigned NetworkController::getNetworkForConnect(uid_t uid) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return getNetworkForConnectLocked(uid);
 }
 
 void NetworkController::getNetworkContext(
         unsigned netId, uid_t uid, struct android_net_context* netcontext) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
 
     struct android_net_context nc = {
             .app_netid = netId,
@@ -341,12 +341,12 @@
 }
 
 unsigned NetworkController::getNetworkForInterface(const char* interface) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return getNetworkForInterfaceLocked(interface);
 }
 
 bool NetworkController::isVirtualNetwork(unsigned netId) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return isVirtualNetworkLocked(netId);
 }
 
@@ -382,7 +382,7 @@
 }
 
 int NetworkController::createPhysicalNetwork(unsigned netId, Permission permission) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     return createPhysicalNetworkLocked(netId, permission);
 }
 
@@ -391,7 +391,7 @@
         return -EINVAL;
     }
 
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     for (*pNetId = MIN_OEM_ID; *pNetId <= MAX_OEM_ID; (*pNetId)++) {
         if (!isValidNetworkLocked(*pNetId)) {
             break;
@@ -413,7 +413,7 @@
 }
 
 int NetworkController::createVirtualNetwork(unsigned netId, bool hasDns, bool secure) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
 
     if (!(MIN_NET_ID <= netId && netId <= MAX_NET_ID)) {
         ALOGE("invalid netId %u", netId);
@@ -433,7 +433,7 @@
 }
 
 int NetworkController::destroyNetwork(unsigned netId) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
 
     if (netId == LOCAL_NET_ID) {
         ALOGE("cannot destroy local network");
@@ -486,7 +486,7 @@
 }
 
 int NetworkController::addInterfaceToNetwork(unsigned netId, const char* interface) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
 
     if (!isValidNetworkLocked(netId)) {
         ALOGE("no such netId %u", netId);
@@ -513,7 +513,7 @@
 }
 
 int NetworkController::removeInterfaceFromNetwork(unsigned netId, const char* interface) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
 
     if (!isValidNetworkLocked(netId)) {
         ALOGE("no such netId %u", netId);
@@ -524,26 +524,26 @@
 }
 
 Permission NetworkController::getPermissionForUser(uid_t uid) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return getPermissionForUserLocked(uid);
 }
 
 void NetworkController::setPermissionForUsers(Permission permission,
                                               const std::vector<uid_t>& uids) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     for (uid_t uid : uids) {
         mUsers[uid] = permission;
     }
 }
 
 int NetworkController::checkUserNetworkAccess(uid_t uid, unsigned netId) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return checkUserNetworkAccessLocked(uid, netId);
 }
 
 int NetworkController::setPermissionForNetworks(Permission permission,
                                                 const std::vector<unsigned>& netIds) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     for (unsigned netId : netIds) {
         Network* network = getNetworkLocked(netId);
         if (!network) {
@@ -563,7 +563,7 @@
 }
 
 int NetworkController::addUsersToNetwork(unsigned netId, const UidRanges& uidRanges) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     Network* network = getNetworkLocked(netId);
     if (!network) {
         ALOGE("no such netId %u", netId);
@@ -580,7 +580,7 @@
 }
 
 int NetworkController::removeUsersFromNetwork(unsigned netId, const UidRanges& uidRanges) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     Network* network = getNetworkLocked(netId);
     if (!network) {
         ALOGE("no such netId %u", netId);
@@ -608,8 +608,7 @@
 }
 
 void NetworkController::addInterfaceAddress(unsigned ifIndex, const char* address) {
-    android::RWLock::AutoWLock lock(mRWLock);
-
+    ScopedWLock lock(mRWLock);
     if (ifIndex == 0) {
         ALOGE("Attempting to add address %s without ifindex", address);
         return;
@@ -619,7 +618,7 @@
 
 // Returns whether we should call SOCK_DESTROY on the removed address.
 bool NetworkController::removeInterfaceAddress(unsigned ifindex, const char* address) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     // First, update mAddressToIfindices map
     auto ifindicesIter = mAddressToIfindices.find(address);
     if (ifindicesIter == mAddressToIfindices.end()) {
@@ -660,24 +659,24 @@
 }
 
 bool NetworkController::canProtect(uid_t uid) const {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
     return canProtectLocked(uid);
 }
 
 void NetworkController::allowProtect(const std::vector<uid_t>& uids) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     mProtectableUsers.insert(uids.begin(), uids.end());
 }
 
 void NetworkController::denyProtect(const std::vector<uid_t>& uids) {
-    android::RWLock::AutoWLock lock(mRWLock);
+    ScopedWLock lock(mRWLock);
     for (uid_t uid : uids) {
         mProtectableUsers.erase(uid);
     }
 }
 
 void NetworkController::dump(DumpWriter& dw) {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
 
     dw.incIndent();
     dw.println("NetworkController");
@@ -782,7 +781,7 @@
 
 int NetworkController::modifyRoute(unsigned netId, const char* interface, const char* destination,
                                    const char* nexthop, bool add, bool legacy, uid_t uid) {
-    android::RWLock::AutoRLock lock(mRWLock);
+    ScopedRLock lock(mRWLock);
 
     if (!isValidNetworkLocked(netId)) {
         ALOGE("no such netId %u", netId);