]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
S390: Assign default model "virtio" for network interfaces
authorViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Mon, 10 Dec 2012 10:00:05 +0000 (11:00 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 10 Dec 2012 13:57:17 +0000 (14:57 +0100)
If a network interface model is not specified, libvirt will run
into an unchecked NULL pointer coredump. On the other hand if
the empty model is ignored, a PCI bus address would be generated,
which is not supported by S390.
Since the only valid network type model for S390 is virtio,
we use this as the default value, which is the same for QEMU.

Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
src/qemu/qemu_command.c

index 5335dcf5a1a8951bcc9f51f28105b7a2db807798..9009bd296c1d83fca5cdaf718cf1ba0b14f4682e 100644 (file)
@@ -810,9 +810,14 @@ qemuDomainPrimeS390VirtioDevices(virDomainDefPtr def,
     }
 
     for (i = 0; i < def->nnets ; i++) {
+        if (STRPREFIX(def->os.arch, "s390") &&
+            def->nets[i]->model == NULL) {
+            def->nets[i]->model = strdup("virtio");
+        }
         if (STREQ(def->nets[i]->model,"virtio") &&
-            def->nets[i]->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
+            def->nets[i]->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) {
             def->nets[i]->info.type = type;
+        }
     }
 
     for (i = 0; i < def->ncontrollers ; i++) {