From nobody Sat Sep 6 17:41:52 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=reject dis=none) header.from=rsg.ci.i.u-tokyo.ac.jp Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1757125098070347.15049400595296; Fri, 5 Sep 2025 19:18:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uuiSm-0004ON-Es; Fri, 05 Sep 2025 22:15:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uuiSY-0004Gx-Od; Fri, 05 Sep 2025 22:15:25 -0400 Received: from www3579.sakura.ne.jp ([49.212.243.89]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uuiS9-0006hG-Je; Fri, 05 Sep 2025 22:15:18 -0400 Received: from [10.40.4.92] (93-51-222-138.ip268.fastwebnet.it [93.51.222.138]) (authenticated bits=0) by www3579.sakura.ne.jp (8.16.1/8.16.1) with ESMTPSA id 5862Btnd041566 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 6 Sep 2025 11:13:44 +0900 (JST) (envelope-from odaki@rsg.ci.i.u-tokyo.ac.jp) DKIM-Signature: a=rsa-sha256; bh=mg0ILQS2B5cAZXx5omO4UeETOZOBuc3DqAZJ4UmKvz8=; c=relaxed/relaxed; d=rsg.ci.i.u-tokyo.ac.jp; h=From:Date:Subject:Message-Id:To; s=rs20250326; t=1757124836; v=1; b=UNVaw+xClixMnF2zbEhoZF3UECN75Jw1U6fMG4OVsZoINYU3TN+sA9B1gAfYrYnn xgAbhizCB1mPaYR/wokud12ymKpbmSpYrn+fxFUYz24ROxUj4ZEtNaJ1DEVoJC88 G6ken5AXUtCpxA+GOYlLE8oTGbL6lG8Oq+H3KjgaOOvEnUy+axXi9UqRMCsHUmlQ 81aovTTF+VYXam+qrt5LOhl+xpQhU2OK/FV4wkrT6sg8OwxvPUgNF/RrysCjGZ8d wg4Vfs+8mvMdyczBDAHLK6yxS/yWUsZr8WlpNCZO4JJTCPjm0IaAHpcBG1EwqKUC nrr6EY/ZFksoXMHxQ3Z/Wg== From: Akihiko Odaki Date: Sat, 06 Sep 2025 04:11:17 +0200 Subject: [PATCH 08/22] sun4m: Fix AddressSpace exposure timing MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250906-use-v1-8-c51caafd1eb7@rsg.ci.i.u-tokyo.ac.jp> References: <20250906-use-v1-0-c51caafd1eb7@rsg.ci.i.u-tokyo.ac.jp> In-Reply-To: <20250906-use-v1-0-c51caafd1eb7@rsg.ci.i.u-tokyo.ac.jp> To: qemu-devel@nongnu.org Cc: Alex Williamson , =?utf-8?q?C=C3=A9dric_Le_Goater?= , Paolo Bonzini , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Eduardo Habkost , Peter Xu , David Hildenbrand , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Richard Henderson , Helge Deller , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , "Michael S. Tsirkin" , Gerd Hoffmann , John Snow , qemu-block@nongnu.org, Keith Busch , Klaus Jensen , Jesper Devantier , Marcel Apfelbaum , Nicholas Piggin , qemu-ppc@nongnu.org, John Levon , Thanos Makatos , Yanan Wang , BALATON Zoltan , Jiaxun Yang , Daniel Henrique Barboza , David Gibson , Harsh Prateek Bora , Alexey Kardashevskiy , =?utf-8?q?Alex_Benn=C3=A9e?= , Fabiano Rosas , Thomas Huth , Laurent Vivier , Peter Maydell , Aurelien Jarno , Aleksandar Rikalo , Max Filippov , =?utf-8?q?Herv=C3=A9_Poussineau?= , Mark Cave-Ayland , Artyom Tarasenko , Akihiko Odaki X-Mailer: b4 0.14.2 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=49.212.243.89; envelope-from=odaki@rsg.ci.i.u-tokyo.ac.jp; helo=www3579.sakura.ne.jp X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, T_SPF_HELO_TEMPERROR=0.01, T_SPF_TEMPERROR=0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1757125101078116600 sun4m-iommu is not hotpluggable but its instance can still be created and finalized when processing the device-list-properties QMP command. Exposing such a temporary instance to AddressSpace should be avoided because it leaks the instance. Expose instances to the AddressSpace at their realization time so that it won't happen for the temporary instances. Signed-off-by: Akihiko Odaki --- hw/sparc/sun4m_iommu.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/sparc/sun4m_iommu.c b/hw/sparc/sun4m_iommu.c index a7ff36ee78c1d6295efea6499dffc2a481022167..0997f29ccb97d3dec4e3d34db49= f2e51b6807a1a 100644 --- a/hw/sparc/sun4m_iommu.c +++ b/hw/sparc/sun4m_iommu.c @@ -359,7 +359,6 @@ static void iommu_init(Object *obj) memory_region_init_iommu(&s->iommu, sizeof(s->iommu), TYPE_SUN4M_IOMMU_MEMORY_REGION, OBJECT(dev), "iommu-sun4m", UINT64_MAX); - address_space_init(&s->iommu_as, MEMORY_REGION(&s->iommu), "iommu-as"); =20 sysbus_init_irq(dev, &s->irq); =20 @@ -368,6 +367,13 @@ static void iommu_init(Object *obj) sysbus_init_mmio(dev, &s->iomem); } =20 +static void iommu_realize(DeviceState *dev, Error **errp) +{ + IOMMUState *s =3D SUN4M_IOMMU(dev); + + address_space_init(&s->iommu_as, MEMORY_REGION(&s->iommu), "iommu-as"); +} + static const Property iommu_properties[] =3D { DEFINE_PROP_UINT32("version", IOMMUState, version, 0), }; @@ -377,6 +383,7 @@ static void iommu_class_init(ObjectClass *klass, const = void *data) DeviceClass *dc =3D DEVICE_CLASS(klass); =20 device_class_set_legacy_reset(dc, iommu_reset); + dc->realize =3D iommu_realize; dc->vmsd =3D &vmstate_iommu; device_class_set_props(dc, iommu_properties); } --=20 2.51.0