render / rpms / libvirt

Forked from rpms/libvirt 10 months ago
Clone
Blob Blame History Raw
From e030e933c8353c9a06eb8a3d6114ae24bc0380e4 Mon Sep 17 00:00:00 2001
Message-Id: <e030e933c8353c9a06eb8a3d6114ae24bc0380e4@dist-git>
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Tue, 18 Feb 2014 15:45:33 -0700
Subject: [PATCH] Record hotplugged USB device in LXC live guest config

https://bugzilla.redhat.com/show_bug.cgi?id=1045643
prereq of CVE-2013-6456

After hotplugging a USB device, the LXC driver forgot
to add the device def to the virDomainDefPtr.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit a537827d15516f2b59afb23ce2d50b8a88d7f090)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
 src/lxc/lxc_driver.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 63c545c..79d03ee 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -3378,6 +3378,9 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver,
 
     mode = 0700 | S_IFCHR;
 
+    if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs + 1) < 0)
+        goto cleanup;
+
     if (virFileMakePath(dstdir) < 0) {
         virReportSystemError(errno,
                              _("Unable to create %s"), dstdir);
@@ -3406,6 +3409,8 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver,
                                 priv->cgroup) < 0)
         goto cleanup;
 
+    vm->def->hostdevs[vm->def->nhostdevs++] = def;
+
     ret = 0;
 
 cleanup:
-- 
1.9.0