From nobody Sun May 5 13:48:43 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) client-ip=209.85.221.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1616524624; cv=none; d=zohomail.com; s=zohoarc; b=BWqBU6icZzCp4LJjBzt0TLxn3BC1tZucrceRthUPqjIeaEGylIX8WONyrrdEGsU6TIwY5fcl0bO9wZD0E23clNZlZbEcYYQE/da7yDK0L1yQ4Oa2t52GZIv6ZexR6MCYxdTHICleOfyKP7yv3q0iqt1FV+PSeqy4O2XjwphxBg4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616524624; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=/3Rgd50n89nBlTJAH89enCMHBA2u9ibVDP7HX8pUGvs=; b=MYZ1YtWJ8gsopJd+Kw0hb3AYIPCO85UBGrE92f0c20Lc8fhXnqb6DUC5nZk3J8WARRzfCg+zGwoy1pE7UKuSWc5msPn4Jt5olKQtZYooeIHX4zKAm1VVIrqrlHEzbCGzV2uquA6oQ+jQag4oCdZ24BEWEuKiWJQd3BZ3HiyA528= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.zohomail.com with SMTPS id 16165246246441006.9981805834216; Tue, 23 Mar 2021 11:37:04 -0700 (PDT) Received: by mail-wr1-f52.google.com with SMTP id j7so21862669wrd.1 for ; Tue, 23 Mar 2021 11:37:04 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (17.red-88-21-201.staticip.rima-tde.net. [88.21.201.17]) by smtp.gmail.com with ESMTPSA id r11sm24684484wrm.26.2021.03.23.11.37.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Mar 2021 11:37:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/3Rgd50n89nBlTJAH89enCMHBA2u9ibVDP7HX8pUGvs=; b=QdCx53TGQbtxHlrIwWs3QhvqOlW9beeMLyvC+pPtY1sm7zhyOh66L8k82wWROq4tw8 ARzb2Ipw6xLPeRDBMU4S8XicZ3xhE2/Xil5NOpUGuTec9qPEjvLTeGmokU4xP296QaVi /SDu/a/tV5L6ODrZ//m/2re57avHH1RQTGhRn9ZVY2UiemukNSR82TdUt17oxadeO1X1 VYmPjPBddxTXWirhhCkerwQ+as6uRWsRpTbVBLeJB4Q4TuU2IQEiIz+5yZ680wYGIsUI EGpNtQlxExzRxzkxBXfF1wlA7g2Xg1tN11i845bqhkohmnRGJR2z31SjXdVg2uZK4RVY GNNQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=/3Rgd50n89nBlTJAH89enCMHBA2u9ibVDP7HX8pUGvs=; b=epU44Zp6iqz+Ji9XT8mc10U4S6eBGV5gaSZeTV/LpVwlA3yxZ0UXqAPIZUVk4daRGs LSf+bUPOailR7kH8zmCTTGUPRnEAcS1QG8YQnM+xicgsM1LOQSsxno2w2J+pGaowQHV+ g0psnLWktfdb4yQ4OYHefWguQmFFGgmBSJm50RGloC4LblK5lmjmrbfZDG/TctWGfqah j6uKzQLGSnOwPoPWEGO/6TOSN9NQBJnv7xoTZokR5hK6jkB1MzujrmNDweWtyi7RKuHY lWAn3o2hErgKV6TjLfwYzqIioO/P7IhrzW0yVY+daWLhdFk2Xv44jRhyzaBbAA+DFLxZ RKag== X-Gm-Message-State: AOAM530lhzlsNSTXbxS+0aAKcBjtajEvueLhzh+j5fbcexOx6wSR0hnk ufocoSVKM3NpRY+TSVgRsOw= X-Google-Smtp-Source: ABdhPJy22Jmi+JSgfwt2Z+GVCMoDXkLI+T5vxeM+MSGY4pG50/Jy9M24iKFijpwUkAplLhgxYsdZpA== X-Received: by 2002:a5d:55c4:: with SMTP id i4mr5457945wrw.84.1616524622839; Tue, 23 Mar 2021 11:37:02 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , Li Qiang , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH] hw/usb/hcd-ehci-sysbus: Free USBPacket on instance finalize() Date: Tue, 23 Mar 2021 19:37:01 +0100 Message-Id: <20210323183701.281152-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) When building with --enable-sanitizers we get: Direct leak of 32 byte(s) in 2 object(s) allocated from: #0 0x5618479ec7cf in malloc (qemu-system-aarch64+0x233b7cf) #1 0x7f675745f958 in g_malloc (/lib64/libglib-2.0.so.0+0x58958) #2 0x561847f02ca2 in usb_packet_init hw/usb/core.c:531:5 #3 0x561848df4df4 in usb_ehci_init hw/usb/hcd-ehci.c:2575:5 #4 0x561847c119ac in ehci_sysbus_init hw/usb/hcd-ehci-sysbus.c:73:5 #5 0x56184a5bdab8 in object_init_with_type qom/object.c:375:9 #6 0x56184a5bd955 in object_init_with_type qom/object.c:371:9 #7 0x56184a5a2bda in object_initialize_with_type qom/object.c:517:5 #8 0x56184a5a24d5 in object_initialize qom/object.c:536:5 #9 0x56184a5a2f6c in object_initialize_child_with_propsv qom/object.c= :566:5 #10 0x56184a5a2e60 in object_initialize_child_with_props qom/object.c= :549:10 #11 0x56184a5a3a1e in object_initialize_child_internal qom/object.c:6= 03:5 #12 0x561849542d18 in npcm7xx_init hw/arm/npcm7xx.c:427:5 Similarly to commit d710e1e7bd3 ("usb: ehci: fix memory leak in ehci"), fix by calling usb_ehci_finalize() to free the USBPacket. Fixes: 7341ea075c0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Thomas Huth --- hw/usb/hcd-ehci-sysbus.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/usb/hcd-ehci-sysbus.c b/hw/usb/hcd-ehci-sysbus.c index e3758db1b18..a12e2188489 100644 --- a/hw/usb/hcd-ehci-sysbus.c +++ b/hw/usb/hcd-ehci-sysbus.c @@ -74,6 +74,14 @@ static void ehci_sysbus_init(Object *obj) sysbus_init_mmio(d, &s->mem); } =20 +static void ehci_sysbus_finalize(Object *obj) +{ + EHCISysBusState *i =3D SYS_BUS_EHCI(obj); + EHCIState *s =3D &i->ehci; + + usb_ehci_finalize(s); +} + static void ehci_sysbus_class_init(ObjectClass *klass, void *data) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -94,6 +102,7 @@ static const TypeInfo ehci_type_info =3D { .parent =3D TYPE_SYS_BUS_DEVICE, .instance_size =3D sizeof(EHCISysBusState), .instance_init =3D ehci_sysbus_init, + .instance_finalize =3D ehci_sysbus_finalize, .abstract =3D true, .class_init =3D ehci_sysbus_class_init, .class_size =3D sizeof(SysBusEHCIClass), --=20 2.26.2