]> xenbits.xensource.com Git - osstest/qemu.git/commitdiff
pc-dimm: Fail realization for invalid nodes in non-NUMA config
authorBharata B Rao <bharata@linux.vnet.ibm.com>
Fri, 17 Jul 2015 12:49:40 +0000 (18:19 +0530)
committerEduardo Habkost <ehabkost@redhat.com>
Tue, 6 Oct 2015 19:51:08 +0000 (16:51 -0300)
pc_dimm_realize() validates the NUMA node to which memory hotplug is
being performed only in case of NUMA configuration. Include a check to
fail for invalid nodes in case of non-NUMA configuration too.

Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
hw/mem/pc-dimm.c

index 6cc6ac30e74c44c490eefb3bdb14d0981e993fb2..506fe0d2a863711de513735fc029872eda566c56 100644 (file)
@@ -417,10 +417,11 @@ static void pc_dimm_realize(DeviceState *dev, Error **errp)
         error_setg(errp, "'" PC_DIMM_MEMDEV_PROP "' property is not set");
         return;
     }
-    if ((nb_numa_nodes > 0) && (dimm->node >= nb_numa_nodes)) {
+    if (((nb_numa_nodes > 0) && (dimm->node >= nb_numa_nodes)) ||
+        (!nb_numa_nodes && dimm->node)) {
         error_setg(errp, "'DIMM property " PC_DIMM_NODE_PROP " has value %"
                    PRIu32 "' which exceeds the number of numa nodes: %d",
-                   dimm->node, nb_numa_nodes);
+                   dimm->node, nb_numa_nodes ? nb_numa_nodes : 1);
         return;
     }
 }