From: Cornelia Huck <cohuck@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-s390x@nongnu.org, qemu-devel@nongnu.org,
David Hildenbrand <david@redhat.com>,
Cornelia Huck <cohuck@redhat.com>
Subject: [Qemu-devel] [PULL 09/11] s390x/pci: Always delete and free the release_timer
Date: Fri, 18 Jan 2019 13:19:23 +0100 [thread overview]
Message-ID: <20190118121925.24468-10-cohuck@redhat.com> (raw)
In-Reply-To: <20190118121925.24468-1-cohuck@redhat.com>
From: David Hildenbrand <david@redhat.com>
We should always get rid of it. I don't see a reason to keep the timer
alive if the devices are going away. This looks like a memory leak.
(hmp) device_add virtio-mouse-pci,id=test
(hmp) device_del test
-> guest notified, timer pending.
-> guest does not react for some reason (e.g. crash)
-> s390_pcihost_timer_cb(). Timer not pending anymore. qmp_unplug().
-> Device deleted. Timer expired (not pending) but not freed.
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190114103110.10909-4-david@redhat.com>
Reviewed-by: Collin Walling <walling@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
hw/s390x/s390-pci-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c
index c467cc526b..e5a4cf03b2 100644
--- a/hw/s390x/s390-pci-bus.c
+++ b/hw/s390x/s390-pci-bus.c
@@ -986,7 +986,7 @@ static void s390_pcihost_unplug(HotplugHandler *hotplug_dev, DeviceState *dev,
return;
}
- if (pbdev->release_timer && timer_pending(pbdev->release_timer)) {
+ if (pbdev->release_timer) {
timer_del(pbdev->release_timer);
timer_free(pbdev->release_timer);
pbdev->release_timer = NULL;
--
2.17.2
next prev parent reply other threads:[~2019-01-18 12:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-18 12:19 [Qemu-devel] [PULL 00/11] s390x updates Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 01/11] s390: avoid potential null dereference in s390_pcihost_unplug() Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 02/11] pc-bios/s390-ccw: Use proper register names for Clang Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 03/11] s390x: Return specification exception for unimplemented diag 308 subcodes Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 04/11] configure: Only build the s390-ccw bios if the compiler supports -march=z900 Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 05/11] s390x/pci: Send correct event on hotplug Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 06/11] s390x/pci: Set the iommu region size mpcifc request Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 07/11] s390x/pci: Use hotplug_dev instead of looking up the host bridge Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 08/11] s390x/pci: Move some hotplug checks to the pre_plug handler Cornelia Huck
2019-01-18 12:19 ` Cornelia Huck [this message]
2019-01-18 12:19 ` [Qemu-devel] [PULL 10/11] s390x/pci: Ignore the unplug call if we already have a release_timer Cornelia Huck
2019-01-18 12:19 ` [Qemu-devel] [PULL 11/11] s390x/pci: add common function measurement block Cornelia Huck
2019-01-18 18:54 ` [Qemu-devel] [PULL 00/11] s390x updates Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190118121925.24468-10-cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).