[libvirt] [PATCH] qemu: sanity check vhost user FD before passing to QEMU

Daniel P. Berrangé berrange at redhat.com
Mon Sep 30 11:40:02 UTC 2019


Ensure that the FD we're passing to QEMU is actually open, so we get a
sane error message upfront instead of telling QEMU to use a closed FD.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---
 src/qemu/qemu_command.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 77470a6037..8c979fdf65 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4704,6 +4704,12 @@ qemuBuildVhostUserChardevStr(const char *alias,
 {
     char *chardev = NULL;
 
+    if (*fd == -1) {
+        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                       _("Attempt to pass closed vhostuser FD"));
+        return NULL;
+    }
+
     if (virAsprintf(&chardev, "socket,id=chr-vu-%s,fd=%d", alias, *fd) < 0)
         return NULL;
 
-- 
2.21.0




More information about the libvir-list mailing list