From b1e9699b31ccb287397f288ba6e927e4b09ab76e Mon Sep 17 00:00:00 2001 From: Martin Kletzander Date: Fri, 7 Feb 2025 15:43:52 +0100 Subject: [PATCH] node_device: Do not lock the driver state needlessly MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When processing the PCI devices we can only read the configs for each of them if running as privileged. That information is saved in the driver state as a boolean introduced in commit 643c74abff01. However since that version it is only written to once during nodeStateInitialize() and only read from that point (apart from some commits around v3.9.0 release when it was not even set, but that was fixed before v3.10.0). And it is only read once, just to store that boolean in a temporary variable which is also used in only one condition. Rewrite this without locking and save few lines of code. Signed-off-by: Martin Kletzander Reviewed-by: Ján Tomko --- src/node_device/node_device_udev.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 344b39e97a..30c2ddf568 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -430,7 +430,6 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state, g_autofree char *linkpath = NULL; int ret = -1; char *p; - bool privileged = false; linkpath = g_strdup_printf("%s/config", udev_device_get_syspath(device)); if (virFileWaitForExists(linkpath, 10, 100) < 0) { @@ -440,10 +439,6 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state, goto cleanup; } - VIR_WITH_MUTEX_LOCK_GUARD(&driver_state->lock) { - privileged = driver_state->privileged; - } - pci_dev->klass = -1; if (udevGetIntProperty(device, "PCI_CLASS", &pci_dev->klass, 16) < 0) goto cleanup; @@ -491,7 +486,7 @@ udevProcessPCI(virNodeDeviceDriverState *driver_state, goto cleanup; /* We need to be root to read PCI device configs */ - if (privileged) { + if (driver_state->privileged) { if (virPCIGetHeaderType(pciDev, &pci_dev->hdrType) < 0) goto cleanup;