From nobody Mon Feb 9 17:06:25 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.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=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1570036478; cv=none; d=zoho.com; s=zohoarc; b=MsLNT2vq7D7RQeHnx4YuibB7JnQDFHfShaFbVH4a171YaKMh8kQIHIMadxDnHSHuNF/o5He+YMSWj1TAdlq+0lhbJrGeeZ5IG0euiL6iN6tCSrS3IE9Q4lZPTm3lGhlRdVLfbbqDztwRC+oveDusORCEFPS4xw6HY2/z+9hvzFM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1570036478; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=fj1AKGyMUrtlB+uC4vz0fN5u5wPsLJxKVwRlCM2AV/0=; b=E7dYIx6Btm955Np5PoUfPTucUvb/FLMxuumOh6UFk+GFb6Kqbxgm89CjQuexocG6/I0q9gVKn13A3KmtHm/7ub0rZsFHxY8IGzLX/2fTqBuBTdb9bnVlaHx8GPw3o7d6DtaI7IOldGTtZAQwlGQzGFrvf0W/VkQbew4P0xARf84= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.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 header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1570036478418835.7205355972364; Wed, 2 Oct 2019 10:14:38 -0700 (PDT) Received: from localhost ([::1]:57880 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFiCz-00056b-0T for importer@patchew.org; Wed, 02 Oct 2019 13:14:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35448) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iFhrN-0005TD-R9 for qemu-devel@nongnu.org; Wed, 02 Oct 2019 12:52:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iFhrM-0003Rl-OU for qemu-devel@nongnu.org; Wed, 02 Oct 2019 12:52:17 -0400 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:35785) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iFhrM-0003R0-Hn for qemu-devel@nongnu.org; Wed, 02 Oct 2019 12:52:16 -0400 Received: by mail-wr1-x42e.google.com with SMTP id v8so20519792wrt.2 for ; Wed, 02 Oct 2019 09:52:16 -0700 (PDT) Received: from 640k.localdomain ([93.56.166.5]) by smtp.gmail.com with ESMTPSA id g4sm27303990wrw.9.2019.10.02.09.52.14 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Oct 2019 09:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fj1AKGyMUrtlB+uC4vz0fN5u5wPsLJxKVwRlCM2AV/0=; b=CORuOirnOaqyHmbCkvsaMss2mzdHDH4DC6uB1r4pwqG4QS6mRLswlv5s5wyo5Gm6lR qJFSiQ1iamFcYp85Okx6f3x/cVEyqNU856ObEpeccmYDRZFa+eJ3wPYr4HqLeYLF+sfB sedouvTPV6YOS1Nx1IC+yutyA2fiRUlTvPm/xt2dErI4ACUA3cueHLXOnhGiC0wniFqt H/0zb4+554VDfgzIbGcnf4oYKDGOEPsbJU1AW5oJmCjGP10b4CR/nx9mXMH5EKY/0/0Z Rbn3ytZRs+WWIOI3AtO303Wxe0+Mj9SEVIhZLMDAim5FpJ5XGY5bBRPIhM+6+JB+mzmN hx4A== 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:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fj1AKGyMUrtlB+uC4vz0fN5u5wPsLJxKVwRlCM2AV/0=; b=FGlxd7DVJKal/d4uzHAip5VY2g01DTv63+L4J6goNN0OajGPvThTdJaO6QYrt/s/Ia hNgkUxYI8KXGW9LbCnaXRFk4zfqG/eElEaJcST5Im4of8PwDTyAk4FWGmezFYarvvM1d AcQ9UshYztA2HTnN7lxyqN128C9D9EkxSFfgV4Bn7ai2sSMZBvunVitN99NU09jC88rF 0/RBOE2H9TwwGj+BQOy+oqP1+MxDQmZyp9kotihZGlq4H8+mGiIpcRc0JOOoGXkx/yWN Qj5GaFL8X6BQVcy7ydoR4dXsafB2oj7Zix8m+s1KwTEDfC0C9y8afPwRrFCy0S9bEDmN 4ZJg== X-Gm-Message-State: APjAAAX90fG53mqCNqDqw7xy4oAd58GUAAATCQ38AGj3IRopHq1aL5Ku NaJL3dRn/wbTGhe3oDNehnDu+Ah1 X-Google-Smtp-Source: APXvYqwfYyWfIs9bJTfD7vJT1nrb/8CrygBZAGOiDiLRp7E25HEWnylZAPKHAzWw1Y3Acux1gGHqMA== X-Received: by 2002:adf:e410:: with SMTP id g16mr3271189wrm.297.1570035135434; Wed, 02 Oct 2019 09:52:15 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 20/30] lm32: do not leak memory on object_new/object_unref Date: Wed, 2 Oct 2019 18:51:43 +0200 Message-Id: <1570035113-56848-21-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1570035113-56848-1-git-send-email-pbonzini@redhat.com> References: <1570035113-56848-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42e X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 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" X-ZohoMail-DKIM: fail (Header signature does not verify) Bottom halves and ptimers are malloced, but nothing in these files is freeing memory allocated by instance_init. Since these are sysctl devices that are never unrealized, just moving the allocations to realize is enough to avoid the leak in practice (and also to avoid upsetting asan when running device-introspect-test). Signed-off-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/timer/lm32_timer.c | 6 +++--- hw/timer/milkymist-sysctl.c | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/timer/lm32_timer.c b/hw/timer/lm32_timer.c index ac3edaf..cf316ed 100644 --- a/hw/timer/lm32_timer.c +++ b/hw/timer/lm32_timer.c @@ -186,9 +186,6 @@ static void lm32_timer_init(Object *obj) =20 sysbus_init_irq(dev, &s->irq); =20 - s->bh =3D qemu_bh_new(timer_hit, s); - s->ptimer =3D ptimer_init(s->bh, PTIMER_POLICY_DEFAULT); - memory_region_init_io(&s->iomem, obj, &timer_ops, s, "timer", R_MAX * 4); sysbus_init_mmio(dev, &s->iomem); @@ -198,6 +195,9 @@ static void lm32_timer_realize(DeviceState *dev, Error = **errp) { LM32TimerState *s =3D LM32_TIMER(dev); =20 + s->bh =3D qemu_bh_new(timer_hit, s); + s->ptimer =3D ptimer_init(s->bh, PTIMER_POLICY_DEFAULT); + ptimer_set_freq(s->ptimer, s->freq_hz); } =20 diff --git a/hw/timer/milkymist-sysctl.c b/hw/timer/milkymist-sysctl.c index 9583507..6aedc11 100644 --- a/hw/timer/milkymist-sysctl.c +++ b/hw/timer/milkymist-sysctl.c @@ -283,11 +283,6 @@ static void milkymist_sysctl_init(Object *obj) sysbus_init_irq(dev, &s->timer0_irq); sysbus_init_irq(dev, &s->timer1_irq); =20 - s->bh0 =3D qemu_bh_new(timer0_hit, s); - s->bh1 =3D qemu_bh_new(timer1_hit, s); - s->ptimer0 =3D ptimer_init(s->bh0, PTIMER_POLICY_DEFAULT); - s->ptimer1 =3D ptimer_init(s->bh1, PTIMER_POLICY_DEFAULT); - memory_region_init_io(&s->regs_region, obj, &sysctl_mmio_ops, s, "milkymist-sysctl", R_MAX * 4); sysbus_init_mmio(dev, &s->regs_region); @@ -297,6 +292,11 @@ static void milkymist_sysctl_realize(DeviceState *dev,= Error **errp) { MilkymistSysctlState *s =3D MILKYMIST_SYSCTL(dev); =20 + s->bh0 =3D qemu_bh_new(timer0_hit, s); + s->bh1 =3D qemu_bh_new(timer1_hit, s); + s->ptimer0 =3D ptimer_init(s->bh0, PTIMER_POLICY_DEFAULT); + s->ptimer1 =3D ptimer_init(s->bh1, PTIMER_POLICY_DEFAULT); + ptimer_set_freq(s->ptimer0, s->freq_hz); ptimer_set_freq(s->ptimer1, s->freq_hz); } --=20 1.8.3.1