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 <[email protected]>
---
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