From: Christian Borntraeger Date: Thu, 2 Jun 2016 12:06:10 +0000 (+0200) Subject: s390x: Limit s390-ccw machines to 248 CPUs X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=dcddc75e4756eac166bb002f71dfb09aca9b59fc;p=qemu.git s390x: Limit s390-ccw machines to 248 CPUs The sclp scp read info call fills in a buffer with information about the system. With more than 248 CPUs we overflow the 4k buffer of the SCCB, leading to random data corruption. Basically ALL guest operating systems call scp read info, so let's limit the machines to 248 CPUs to make it obvious that >=249 does not work. As KVM also limits itself to 248 and TCG on s390 does not support SMP, this should cause no regression for any user as no VMs with more than 248 VCPUs were ever possible. Signed-off-by: Christian Borntraeger Reviewed-by: David Hildenbrand Reviewed-by: Boris Fiuczynski Signed-off-by: Cornelia Huck --- diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 95ff5e35ae..e257ca5ab0 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -204,7 +204,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void *data) mc->no_parallel = 1; mc->no_sdcard = 1; mc->use_sclp = 1; - mc->max_cpus = 255; + mc->max_cpus = 248; mc->get_hotplug_handler = s390_get_hotplug_handler; hc->plug = s390_machine_device_plug; nc->nmi_monitor_handler = s390_nmi;