From patchwork Mon Mar 23 15:17:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 184740 Delivered-To: patch@linaro.org Received: by 2002:a92:1f12:0:0:0:0:0 with SMTP id i18csp4213726ile; Mon, 23 Mar 2020 08:17:34 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv2B2I6xCH2AwbI0yu9oIppxObtw2/BwgEGtS0vyjFOz3TtpMQTK9lVPXMV8ibZlNjhWLXS X-Received: by 2002:ac8:3feb:: with SMTP id v40mr21601477qtk.147.1584976654301; Mon, 23 Mar 2020 08:17:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584976654; cv=none; d=google.com; s=arc-20160816; b=Frn+wElUiKDuB5A19U/VHZp043UR05iQkgErR05umIOKNHUUEpmVKHLHETXa5VaamS S7/mocF46ASLOe0ekBFowqVfCRh/VbwLQs+vbzwbZNV9/e/T5KXUipYi9lpF+LJktnUJ dRwfmHPxMYU0v67PoN4hMbMz9PviFjd0PJwVzaoJ24Py9c3gLBZDAMejPv1rXVP37wTh H8VNS5z6l9HrP2OwtCefg++rbveAFvvAYYRAK1w/aCkrMk4evnAwkayA+yWlJSCDZo/H cX5atCj3f/XfWZ1MCDrMxDwhIA+xlpKYPo6sam5ypyIHKY55OS5LGvV2zT8OOc9F7Uy6 t75w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=/HG/3zX/z7cZw8pN0b5jI6X9Kh6mm9bAalCe+PTT2Bg=; b=rtW/IzHvLdJALDhLNTqKWwXaSfTHyWZuuCHwPYCYRW+f7N9HQY0ML3CxlyFp1pO4yK 833qdIwaz6aA/6gJBbIm1HQIlKx5GJmn2BiiMynhjyMzkCpaMR2DPhb9a9NG6EWStZPK rCUAh/9o2do6th7+67ZmY9BTdqLaUbZQ+4y3z0Ew0bGWq1+atz87U8wzgfF6BmDSu53t iDlVR6kSsIxCCjjhHRJxFuw0QY4Vwsj6S2nnVWJjO89lbkdpGaPIT1O6pnYSsLSpGVn+ 1wO7kdNmbP+Rd/l+1S7pctmsyekcPdbFsy2NUMObdrbVmDwx0irzqDN1vJe8GoNSohDf GfNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="i9/nCkaC"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id q37si8452643qtk.312.2020.03.23.08.17.34 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Mar 2020 08:17:34 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b="i9/nCkaC"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:35302 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jGOpZ-0000QR-Ru for patch@linaro.org; Mon, 23 Mar 2020 11:17:33 -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) 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-Received: by 2002:a1c:1904:: with SMTP id 4mr23159837wmz.21.1584976637394; Mon, 23 Mar 2020 08:17:17 -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) 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 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_Mathieu-Daud=C3=A9?= , qemu-ppc@nongnu.org, qemu-block@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" 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 --- 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(-) -- 2.20.1 Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: John Snow Tested-by: BALATON Zoltan 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 = SII3112_PCI(dev); PCIIDEState *s = PCI_IDE(dev); + DeviceState *ds = DEVICE(dev); MemoryRegion *mr; - qemu_irq *irq; int i; 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, 16); pci_register_bar(dev, 4, PCI_BASE_ADDRESS_SPACE_IO, mr); - irq = qemu_allocate_irqs(sii3112_set_irq, d, 2); + qdev_init_gpio_in(ds, sii3112_set_irq, 2); for (i = 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)); bmdma_init(&s->bus[i], &s->bmdma[i], s); s->bmdma[i].bus = &s->bus[i];