From d9b06db813270d9deacd9e8f2ae3fd0d88f03f2a Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Thu, 29 Mar 2018 11:10:06 +0200 Subject: [PATCH 1/3] hw/s390x: fix memory leak in s390_init_ipl_dev() The string returned by object_property_get_str() is dynamically allocated. Fixes: 3c4e9baacf4d9 Signed-off-by: Greg Kurz Message-Id: <152231460685.69730.14860451936216690693.stgit@bahia.lan> Reviewed-by: Cornelia Huck Reviewed-by: Thomas Huth Signed-off-by: Cornelia Huck --- hw/s390x/s390-virtio-ccw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index 864145a7c6..435f7c99e7 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -246,6 +246,7 @@ static void s390_init_ipl_dev(const char *kernel_filename, { Object *new = object_new(TYPE_S390_IPL); DeviceState *dev = DEVICE(new); + char *netboot_fw_prop; if (kernel_filename) { qdev_prop_set_string(dev, "kernel", kernel_filename); @@ -256,9 +257,11 @@ static void s390_init_ipl_dev(const char *kernel_filename, qdev_prop_set_string(dev, "cmdline", kernel_cmdline); qdev_prop_set_string(dev, "firmware", firmware); qdev_prop_set_bit(dev, "enforce_bios", enforce_bios); - if (!strlen(object_property_get_str(new, "netboot_fw", &error_abort))) { + netboot_fw_prop = object_property_get_str(new, "netboot_fw", &error_abort); + if (!strlen(netboot_fw_prop)) { qdev_prop_set_string(dev, "netboot_fw", netboot_fw); } + g_free(netboot_fw_prop); object_property_add_child(qdev_get_machine(), TYPE_S390_IPL, new, NULL); object_unref(new); From 23bf419c1c48e71c08737045f7d9c9b5e05ac4a7 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Thu, 29 Mar 2018 11:37:31 +0200 Subject: [PATCH 2/3] pc-bios/s390-ccw: Increase virtio timeout to 30 seconds The current timeout is set to only three seconds - and considering that vring_wait_reply() or rather get_second() is not doing any rounding, the real timeout is likely rather 2 seconds in most cases. When the host is really badly loaded, it's possible that we hit this timeout by mistake; it's even more likely if we run the guest in TCG mode instead of KVM. So let's increase the timeout to 30 seconds instead to ease this situation (30 seconds is also the timeout that is used by the Linux SCSI subsystem for example, so this seems to be a sane value for block IO timeout). Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1549079 Signed-off-by: Thomas Huth Message-Id: <1522316251-16399-1-git-send-email-thuth@redhat.com> Acked-by: Christian Borntraeger [CH: tweaked commit message] Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw/virtio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index 817e7f56ea..cdb66f459e 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -14,7 +14,7 @@ #include "virtio-scsi.h" #include "bswap.h" -#define VRING_WAIT_REPLY_TIMEOUT 3 +#define VRING_WAIT_REPLY_TIMEOUT 30 static VRing block[VIRTIO_MAX_VQS]; static char ring_area[VIRTIO_RING_SIZE * VIRTIO_MAX_VQS] From d3b6e3bb6dc582099b8572c439fa651b3672de89 Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Thu, 29 Mar 2018 10:13:37 -0400 Subject: [PATCH 3/3] pc-bios/s390-ccw: update image Contains the following commits: - pc-bios/s390-ccw: Move string arrays from bootmap header to .c file - pc-bios/s390-ccw: Increase virtio timeout to 30 seconds Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw.img | Bin 34568 -> 30568 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index fbd76bb55ed01367c9e2e5656e9a3e2eb21f823f..d17e85995db582b871f937cf74338b2eaf65a2ef 100644 GIT binary patch literal 30568 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 bt69gX2~R0~P5bQ!gl&>ZNc(^Wv%mO1Qbjx^ literal 34568 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