From: Ján Tomko Date: Fri, 3 Jun 2016 10:20:41 +0000 (+0200) Subject: node_device_udev: initialize libpciaccess after the driver lock X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=5c88b34afa598bd280dd4cb3f5f6412990452e78;p=libvirt.git node_device_udev: initialize libpciaccess after the driver lock This will simplify cleanup. --- diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index ebf514515c..ef8d7af7b3 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1517,11 +1517,12 @@ static int nodeStateCleanup(void) virMutexDestroy(&driver->lock); VIR_FREE(driver); VIR_FREE(priv); + + udevPCITranslateDeinit(); } else { ret = -1; } - udevPCITranslateDeinit(); return ret; } @@ -1711,9 +1712,6 @@ static int nodeStateInitialize(bool privileged, struct udev *udev = NULL; int ret = -1; - if (udevPCITranslateInit(privileged) < 0) - goto out; - if (VIR_ALLOC(priv) < 0) goto out; @@ -1734,6 +1732,11 @@ static int nodeStateInitialize(bool privileged, nodeDeviceLock(); + if (udevPCITranslateInit(privileged) < 0) { + VIR_FREE(priv); + goto out_unlock; + } + /* * http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libudev-udev.html#udev-new *