[libvirt] [PATCH] check if console PTY is null before attempting to open

Shivaprasad G Bhat shivaprasadbhat at gmail.com
Wed May 27 18:05:17 UTC 2015


Console devices have their pty devices assigned when the qemu is actually
started. The libvirt spends considerable amount of time to start the qemu if
the guest has multiple passthrough devices. If time is spent during the
hostdev preparation, someone attempts to open the console, the libvirt
crashes in virChrdevLockFilePath().The patch attempts to fix the crash by
adding a check before attempting to open.

Signed-off-by: Shivaprasad G Bhat <sbhat at linux.vnet.ibm.com>
---
 src/qemu/qemu_driver.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 1233d8f..fec928f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -16278,6 +16278,12 @@ qemuDomainOpenConsole(virDomainPtr dom,
         goto cleanup;
     }
 
+    if (!(chr->source.data.file.path)) {
+        virReportError(VIR_ERR_OPERATION_FAILED, "%s",
+                       _("PTY device is not yet assigned"));
+        goto cleanup;
+    }
+
     /* handle mutually exclusive access to console devices */
     ret = virChrdevOpen(priv->devs,
                         &chr->source,




More information about the libvir-list mailing list