From nobody Sat Apr 27 19:44:17 2024 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; dkim=fail; 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=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1584976708; cv=none; d=zohomail.com; s=zohoarc; b=A5X/JcUlR1dMm3gDDwYMjAL/DK5JrjHNuHVkQBzPyh0kWkaX2hRgb5KnmkFiCaKMbR4ZQ28cW8N2Yk4LvcxWUBlNo/JM9zkIQS/Rdz6ZoN9pE08toTlx13CoNSagHTKzS46KTN73FsyLAmp5pmp0irn9hvYhMkcxvRauFRK2Lv4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1584976708; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=/HG/3zX/z7cZw8pN0b5jI6X9Kh6mm9bAalCe+PTT2Bg=; b=aG1ngkfmVkF/ZdR+bgXnxbPh9JbWi8JxcezVUKbQuXQVX1ovfaD5VgYSwNk3V/v4WLYOXhHqJU+FHefDjTRG789KsJspLozmSOwBPvCS9DZ7bInbzgP8sMMgA4oBcRSKdt+L83ovqCC8I/ySifvrOrY2aN3juw49X4xRd7qQ5rw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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 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 1584976708412558.5341024781984; Mon, 23 Mar 2020 08:18:28 -0700 (PDT) Received: from localhost ([::1]:35310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGOqP-00010U-Rj for importer@patchew.org; Mon, 23 Mar 2020 11:18:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49687) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGOpM-0000Pb-Ht for qemu-devel@nongnu.org; Mon, 23 Mar 2020 11:17:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jGOpL-0006Ut-9Y for qemu-devel@nongnu.org; Mon, 23 Mar 2020 11:17:20 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:55561) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jGOpL-0006UV-16 for qemu-devel@nongnu.org; Mon, 23 Mar 2020 11:17:19 -0400 Received: by mail-wm1-x342.google.com with SMTP id 6so15066918wmi.5 for ; Mon, 23 Mar 2020 08:17:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id q8sm15710234wmj.22.2020.03.23.08.17.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2020 08:17:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/HG/3zX/z7cZw8pN0b5jI6X9Kh6mm9bAalCe+PTT2Bg=; b=i9/nCkaCzjB7rmgVLWZ7DYA1ZWP3AE/gEzh4DpgZoMdzOyiG9T/uUA/37/8lQf5xYZ qe+pMUwawy3VS8ABXb8CSgVjpOC3Nx3OMoXhTeTCEuVTvsMKlELUQLLtFo+hhiMT/s5j eMbY0EyypzeQF6zf0Fu4f9x9fIrJGiF7rwqOZq6/SaynYoR1JvsxutM2/whQQ3qOW6/b MmFCTEqxZuzhVv2eAUvtt+1R6jn2T/VatAGyBs76aOkegBjtQ+T2nQMVvFFlPXsbpBMR FivsMuEh1XvR3ZKWIP1XSI/+JbYU1w2+2Y6I2hRv0KlOpnKPCi2CXDiDmInMy4auJiLh xAUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/HG/3zX/z7cZw8pN0b5jI6X9Kh6mm9bAalCe+PTT2Bg=; b=XS6s2PaYr5L24CHrfYElMudFZAcVBIwBw0AfzFW0AXTq2DGhAbc+Ka40Qtg2RoUpj3 sy5z7UYeAh+WbkbKxezB/0JoRjjQYg5vkoxVUCZLuByaYwYdBco2tOFFJTcZ1CIcCX/M MfsRKcRjCLLfJYiB2IATtfF162gAo7f2V2xQRfpIklapWi031tpxUEf6lhqmM85MglyG r2WZT3RyrO0lD/ZeOIjw8Y1L5q0MhEYFHWOLylwcx3db4Y/Di6kQSzYqNzr6yrT//4mH K+dSm782fyxUIvTzrGmCjIe5Gvr5nBlkrddJuGeimOGpr3JuCDGWWlZQl2EvsBSBnSbz l+4g== X-Gm-Message-State: ANhLgQ1O2tmxK4hM1ZmijtjYt4MC/UFSGsv7OneqSa/EQCn1lHU7v0x0 9iN700QeoVoPJNHjeCKD0WkCru2HB4n+kw== X-Google-Smtp-Source: ADFU+vt3+WKpbMfvIG5k9EaN84Df3FdcIK90cvXDPjREPwV5FgDBN3aekZo8nxnfdOSSrZDzm6C7Jg== X-Received: by 2002:a1c:1904:: with SMTP id 4mr23159837wmz.21.1584976637394; Mon, 23 Mar 2020 08:17:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PATCH] hw/ide/sii3112: Use qdev gpio rather than qemu_allocate_irqs() Date: Mon, 23 Mar 2020 15:17:15 +0000 Message-Id: <20200323151715.29454-1-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 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::342 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: , Cc: John Snow , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Coverity points out (CID 1421984) that we are leaking the memory returned by qemu_allocate_irqs(). We can avoid this leak by switching to using qdev_init_gpio_in(); the base class finalize will free the irqs that this allocates under the hood. Signed-off-by: Peter Maydell Reviewed-by: John Snow Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: BALATON Zoltan --- This is how the 'use qdev gpio' approach to fixing the leak looks. Disclaimer: I have only tested this with "make check", nothing more. hw/ide/sii3112.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/ide/sii3112.c b/hw/ide/sii3112.c index 06605d7af2b..2ae6f5d9df6 100644 --- a/hw/ide/sii3112.c +++ b/hw/ide/sii3112.c @@ -251,8 +251,8 @@ static void sii3112_pci_realize(PCIDevice *dev, Error *= *errp) { SiI3112PCIState *d =3D SII3112_PCI(dev); PCIIDEState *s =3D PCI_IDE(dev); + DeviceState *ds =3D DEVICE(dev); MemoryRegion *mr; - qemu_irq *irq; int i; =20 pci_config_set_interrupt_pin(dev->config, 1); @@ -280,10 +280,10 @@ static void sii3112_pci_realize(PCIDevice *dev, Error= **errp) memory_region_init_alias(mr, OBJECT(d), "sii3112.bar4", &d->mmio, 0, 1= 6); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, mr); =20 - irq =3D qemu_allocate_irqs(sii3112_set_irq, d, 2); + qdev_init_gpio_in(ds, sii3112_set_irq, 2); for (i =3D 0; i < 2; i++) { ide_bus_new(&s->bus[i], sizeof(s->bus[i]), DEVICE(dev), i, 1); - ide_init2(&s->bus[i], irq[i]); + ide_init2(&s->bus[i], qdev_get_gpio_in(ds, i)); =20 bmdma_init(&s->bus[i], &s->bmdma[i], s); s->bmdma[i].bus =3D &s->bus[i]; --=20 2.20.1