aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2017-01-24 22:17:47 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2017-02-01 09:11:56 +0100
commit1a0e4c8b02ea510508970c333ee610a90b921cbb (patch)
tree6fecd57c83ede741b25891e994ec37da4f27cdbf
parent2034ee5152ded8ef102f2e9dfcada7f91ecc7d66 (diff)
downloadqemu-1a0e4c8b02ea510508970c333ee610a90b921cbb.zip
qemu-1a0e4c8b02ea510508970c333ee610a90b921cbb.tar.gz
qemu-1a0e4c8b02ea510508970c333ee610a90b921cbb.tar.bz2
s390x/kvm: fix small race reboot vs. cmma
Right now we reset all devices before we reset the cmma states. This can result in the host kernel discarding guest pages that were previously in the unused state but already contain a bios or a -kernel file before the cmma reset has finished. This race results in random guest crashes or hangs during very early reboot. Fixes: 1cd4e0f6f0a6 ("s390x/cmma: clean up cmma reset") Cc: qemu-stable@nongnu.org Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
-rw-r--r--hw/s390x/s390-virtio.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c
index 0a96347..7a3a7fe 100644
--- a/hw/s390x/s390-virtio.c
+++ b/hw/s390x/s390-virtio.c
@@ -204,8 +204,8 @@ void s390_machine_reset(void)
{
S390CPU *ipl_cpu = S390_CPU(qemu_get_cpu(0));
- qemu_devices_reset();
s390_cmma_reset();
+ qemu_devices_reset();
s390_crypto_reset();
/* all cpus are stopped - configure and start the ipl cpu only */