qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH 24/28] usb: release the created buses
Date: Tue,  7 Feb 2017 17:52:07 +0400	[thread overview]
Message-ID: <20170207135211.15870-25-marcandre.lureau@redhat.com> (raw)
In-Reply-To: <20170207135211.15870-1-marcandre.lureau@redhat.com>

Leaks spotted by ASAN.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/usb/dev-storage.c | 16 ++++++++++++++++
 hw/usb/dev-uas.c     |  2 ++
 2 files changed, 18 insertions(+)

diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index c607f7606d..74b7856278 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -589,6 +589,13 @@ static const struct SCSIBusInfo usb_msd_scsi_info_bot = {
     .load_request = usb_msd_load_request,
 };
 
+static void usb_msd_unrealize_storage(USBDevice *dev, Error **errp)
+{
+    MSDState *s = USB_STORAGE_DEV(dev);
+
+    object_unref(OBJECT(&s->bus));
+}
+
 static void usb_msd_realize_storage(USBDevice *dev, Error **errp)
 {
     MSDState *s = USB_STORAGE_DEV(dev);
@@ -635,6 +642,13 @@ static void usb_msd_realize_storage(USBDevice *dev, Error **errp)
     s->scsi_dev = scsi_dev;
 }
 
+static void usb_msd_unrealize_bot(USBDevice *dev, Error **errp)
+{
+    MSDState *s = USB_STORAGE_DEV(dev);
+
+    object_unref(OBJECT(&s->bus));
+}
+
 static void usb_msd_realize_bot(USBDevice *dev, Error **errp)
 {
     MSDState *s = USB_STORAGE_DEV(dev);
@@ -755,6 +769,7 @@ static void usb_msd_class_initfn_storage(ObjectClass *klass, void *data)
     USBDeviceClass *uc = USB_DEVICE_CLASS(klass);
 
     uc->realize = usb_msd_realize_storage;
+    uc->unrealize = usb_msd_unrealize_storage;
     dc->props = msd_properties;
 }
 
@@ -817,6 +832,7 @@ static void usb_msd_class_initfn_bot(ObjectClass *klass, void *data)
     USBDeviceClass *uc = USB_DEVICE_CLASS(klass);
 
     uc->realize = usb_msd_realize_bot;
+    uc->unrealize = usb_msd_unrealize_bot;
     uc->attached_settable = true;
 }
 
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 3b26655889..fffc424396 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -896,6 +896,8 @@ static void usb_uas_unrealize(USBDevice *dev, Error **errp)
     UASDevice *uas = USB_UAS(dev);
 
     qemu_bh_delete(uas->status_bh);
+
+    object_unref(OBJECT(&uas->bus));
 }
 
 static void usb_uas_realize(USBDevice *dev, Error **errp)
-- 
2.11.0.295.gd7dffce1c.dirty

  parent reply	other threads:[~2017-02-07 13:53 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-07 13:51 [Qemu-devel] [PATCH 00/28] Various memory leak fixes Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 01/28] qtest: fix a memory leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 02/28] tests: fix qmp response leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 03/28] tests: fix leaks in test-io-channel-command Marc-André Lureau
2017-02-07 14:02   ` Daniel P. Berrange
2017-02-07 15:02   ` Greg Kurz
2017-02-07 13:51 ` [Qemu-devel] [PATCH 04/28] timer: use an inline function for free Marc-André Lureau
2017-02-07 16:35   ` Greg Kurz
2017-02-07 13:51 ` [Qemu-devel] [PATCH 05/28] tests: fix ptimer leaks Marc-André Lureau
2017-02-07 14:38   ` Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 06/28] tests: fix endianness-test leaks Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 07/28] tests: fix q35-test leaks Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 08/28] tests: fix vhost-user-test leaks Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 09/28] tests: fix ide-test leaks Marc-André Lureau
2017-02-08 18:16   ` John Snow
2017-02-07 13:51 ` [Qemu-devel] [PATCH 10/28] tests: fix hd-geo-test leaks Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 11/28] tests: fix bios-tables-test leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 12/28] tests: fix ipmi-kcs-test leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 13/28] tests: fix ipmi-bt-test leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 14/28] pc: pcihp: avoid adding ACPI_PCIHP_PROP_BSEL twice Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 15/28] tests: fix eepro100-test leak Marc-André Lureau
2017-02-07 13:51 ` [Qemu-devel] [PATCH 16/28] tests: fix tco-test leaks Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 17/28] tests: fix e1000-test leak Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 18/28] tests: fix i440fx-test leaks Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 19/28] tests: fix e1000e leaks Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 20/28] tests: fix virtio-scsi-test leak Marc-André Lureau
2017-02-07 16:43   ` Greg Kurz
2017-02-07 13:52 ` [Qemu-devel] [PATCH 21/28] tests: fix virtio-9p-test leaks Marc-André Lureau
2017-02-07 16:43   ` Greg Kurz
2017-02-07 13:52 ` [Qemu-devel] [PATCH 22/28] bus: do not unref hotplug handler Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 23/28] usb: replace handle_destroy with unrealize Marc-André Lureau
2017-02-07 13:52 ` Marc-André Lureau [this message]
2017-02-07 13:52 ` [Qemu-devel] [PATCH 25/28] tests: allows to run single test in usb-hcd-ehci-test Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 26/28] tests: fix usb-test leaks Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 27/28] tests: add specialized device_find function Marc-André Lureau
2017-02-07 13:52 ` [Qemu-devel] [PATCH 28/28] tests: fix virtio-blk-test leaks Marc-André Lureau
2017-02-07 14:50 ` [Qemu-devel] [PATCH 00/28] Various memory leak fixes no-reply

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=20170207135211.15870-25-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@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).