]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nwfilter_gentech: Use automatic mutex management
authorTim Wiederhake <twiederh@redhat.com>
Mon, 7 Mar 2022 16:45:05 +0000 (17:45 +0100)
committerTim Wiederhake <twiederh@redhat.com>
Thu, 17 Mar 2022 15:44:46 +0000 (16:44 +0100)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/nwfilter/nwfilter_gentech_driver.c

index c609405ac015e05923cf396d1afde17948401aa7..6c6e61524aeb34abcc576427015d8185c2daafe8 100644 (file)
@@ -744,9 +744,7 @@ virNWFilterInstantiateFilterInternal(virNWFilterDriverState *driver,
                                      bool *foundNewFilter)
 {
     int ifindex;
-    int rc;
-
-    virMutexLock(&updateMutex);
+    VIR_LOCK_GUARD lock = virLockGuardLock(&updateMutex);
 
     /* after grabbing the filter update lock check for the interface; if
        it's not there anymore its filters will be or are being removed
@@ -756,20 +754,14 @@ virNWFilterInstantiateFilterInternal(virNWFilterDriverState *driver,
         /* interfaces / VMs can disappear during filter instantiation;
            don't mark it as an error */
         virResetLastError();
-        rc = 0;
-        goto cleanup;
+        return 0;
     }
 
-    rc = virNWFilterInstantiateFilterUpdate(driver, teardownOld,
-                                            binding,
-                                            ifindex,
-                                            useNewFilter,
-                                            false, foundNewFilter);
-
- cleanup:
-    virMutexUnlock(&updateMutex);
-
-    return rc;
+    return virNWFilterInstantiateFilterUpdate(driver, teardownOld,
+                                              binding,
+                                              ifindex,
+                                              useNewFilter,
+                                              false, foundNewFilter);
 }
 
 
@@ -780,9 +772,9 @@ virNWFilterInstantiateFilterLate(virNWFilterDriverState *driver,
 {
     int rc;
     bool foundNewFilter = false;
+    VIR_LOCK_GUARD lock = virLockGuardLock(&updateMutex);
 
     virNWFilterReadLockFilterUpdates();
-    virMutexLock(&updateMutex);
 
     rc = virNWFilterInstantiateFilterUpdate(driver, true,
                                             binding, ifindex,
@@ -799,7 +791,6 @@ virNWFilterInstantiateFilterLate(virNWFilterDriverState *driver,
     }
 
     virNWFilterUnlockFilterUpdates();
-    virMutexUnlock(&updateMutex);
 
     return rc;
 }
@@ -921,11 +912,9 @@ _virNWFilterTeardownFilter(const char *ifname)
 int
 virNWFilterTeardownFilter(virNWFilterBindingDef *binding)
 {
-    int ret;
-    virMutexLock(&updateMutex);
-    ret = _virNWFilterTeardownFilter(binding->portdevname);
-    virMutexUnlock(&updateMutex);
-    return ret;
+    VIR_LOCK_GUARD lock = virLockGuardLock(&updateMutex);
+
+    return _virNWFilterTeardownFilter(binding->portdevname);
 }
 
 enum {