[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] qemu-xen: pass-through: Catch errors in do_pci_del()



Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

--- 

The strdup() is needed because the aprsing of devname is destructive.
I have patches to fix this if there is interest.

Index: ioemu-remote/xen-vl-extra.c
===================================================================
--- ioemu-remote.orig/xen-vl-extra.c    2009-04-06 10:04:39.000000000 +1000
+++ ioemu-remote/xen-vl-extra.c 2009-04-06 10:06:41.000000000 +1000
@@ -119,9 +119,21 @@ static int tap_open(char *ifname, int if
 void do_pci_del(char *devname)
 {
     int pci_slot;
+    char *devname_cpy;
+
+    devname_cpy = strdup(devname);
+    if (!devname_cpy)
+        return;
+
     pci_slot = bdf_to_slot(devname);
 
-    acpi_php_del(pci_slot);
+    if (pci_slot < 0)
+        fprintf(logfile, "Device \"%s\" is not used by a hotplug device.\n",
+                devname_cpy);
+    else
+        acpi_php_del(pci_slot);
+
+    free(devname_cpy);
 }
 
 void do_pci_add(char *devname)


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.