Since @driver->privateData is modified take the lock.

Reviewed-by: Boris Fiuczynski <[email protected]>
Reviewed-by: Jonathon Jongsma <[email protected]>
Signed-off-by: Marc Hartmayer <[email protected]>
---
 src/node_device/node_device_udev.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/node_device/node_device_udev.c 
b/src/node_device/node_device_udev.c
index 757febffa2f8..281e852c7ff1 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1481,7 +1481,9 @@ udevRemoveOneDeviceSysPath(const char *path)
     virNodeDeviceObjEndAPI(&obj);
 
     /* cannot check for mdev_types since they have already been removed */
-    scheduleMdevctlUpdate(driver->privateData, false);
+    VIR_WITH_OBJECT_LOCK_GUARD(driver->privateData) {
+        scheduleMdevctlUpdate(driver->privateData, false);
+    }
 
     virObjectEventStateQueue(driver->nodeDeviceEventState, event);
     return 0;
@@ -1615,8 +1617,11 @@ udevAddOneDevice(struct udev_device *device)
     has_mdev_types = virNodeDeviceObjHasCap(obj, VIR_NODE_DEV_CAP_MDEV_TYPES);
     virNodeDeviceObjEndAPI(&obj);
 
-    if (has_mdev_types)
-        scheduleMdevctlUpdate(driver->privateData, false);
+    if (has_mdev_types) {
+        VIR_WITH_OBJECT_LOCK_GUARD(driver->privateData) {
+            scheduleMdevctlUpdate(driver->privateData, false);
+        }
+    }
 
     /* The added mdev needs an immediate active config update before the event
      * is issued so that full device information is available at the time that
@@ -2237,7 +2242,9 @@ mdevctlEventHandleCallback(GFileMonitor *monitor 
G_GNUC_UNUSED,
      * configuration change, try to coalesce these changes by waiting for the
      * CHANGES_DONE_HINT event. As a fallback,  add a timeout to trigger the
      * signal if that event never comes */
-    scheduleMdevctlUpdate(priv, (event_type == 
G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT));
+    VIR_WITH_OBJECT_LOCK_GUARD(priv) {
+        scheduleMdevctlUpdate(priv, (event_type == 
G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT));
+    }
 }
 
 
-- 
2.34.1
_______________________________________________
Devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to