Right now it is possible to crash QEMU for s390x by providing e.g.
    -numa node,nodeid=0,cpus=0-1

Problem is, that numa.c uses mc->cpu_index_to_instance_props as an
indicator whether NUMA is supported by a machine type. We don't
implement NUMA on s390x (and that concept also doesn't really exist).
We need mc->cpu_index_to_instance_props for query-cpus.

So let's fix this case.

qemu-system-s390x: -numa node,nodeid=0,cpus=0-1: NUMA is not supported by
                   this machine-type

Signed-off-by: David Hildenbrand <da...@redhat.com>
---
 numa.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/numa.c b/numa.c
index 7e0e789b02..3b9be613d9 100644
--- a/numa.c
+++ b/numa.c
@@ -80,10 +80,16 @@ static void parse_numa_node(MachineState *ms, 
NumaNodeOptions *node,
         return;
     }
 
+#ifdef TARGET_S390X
+    /* s390x provides cpu_index_to_instance_props but has no NUMA */
+    error_report("NUMA is not supported by this machine-type");
+    exit(1);
+#else
     if (!mc->cpu_index_to_instance_props) {
         error_report("NUMA is not supported by this machine-type");
         exit(1);
     }
+#endif
     for (cpus = node->cpus; cpus; cpus = cpus->next) {
         CpuInstanceProperties props;
         if (cpus->value >= max_cpus) {
-- 
2.14.3


Reply via email to