[libvirt] [PATCH] qemu: fix crash when removing <filterref> from interface with update-device

Laine Stump laine at laine.org
Thu May 1 08:57:09 UTC 2014


If a domain network interface that contains a <filterref> is modified
"live" using "virsh update-device --live", libvirtd would crash. This
was because the code supporting live update of an interface's
filterref was assuming that a filterref might be added or modified,
but didn't account for removing the filterref, resulting in a null
dereference of the filter name.

Introduced with commit 258fb278, which was first in libvirt v1.0.1.

This addresses https://bugzilla.redhat.com/show_bug.cgi?id=1093301
---
 src/qemu/qemu_hotplug.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index ccfb358..cdf9eac 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1815,7 +1815,8 @@ qemuDomainChangeNetFilter(virConnectPtr conn,
 
     virDomainConfNWFilterTeardown(olddev);
 
-    if (virDomainConfNWFilterInstantiate(conn, vm->def->uuid, newdev) < 0) {
+    if (newdev->filter &&
+        virDomainConfNWFilterInstantiate(conn, vm->def->uuid, newdev) < 0) {
         virErrorPtr errobj;
 
         virReportError(VIR_ERR_OPERATION_FAILED,
-- 
1.9.0




More information about the libvir-list mailing list