From patchwork Wed Jun 1 08:09:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Miaoqian Lin X-Patchwork-Id: 12866483 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 45E92C433F5 for ; Wed, 1 Jun 2022 08:13:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=l+bKBvu6/TkfjUI8IypvaYyR6E8UzhiGS3Rgf+pE/NY=; b=U1rw3b42oW/Woi qT8AlG+E/OJM9z8sx0xBPYBVTx5VTLC9IPJl5rSMMYNYvKiduUWyfvSJBADilAA80gNfcaVmyBPEd 2XsAl3CbsUFVHt+c664hJVJP3oRZxCkvgskghzJ/+pV9IxwR89MWUH0/py8feDOCnTsfK0uz3VaKB VSS3yfQi4omxYVy/BN9HZAU+MswdlNmWgHaJg77NMYltcdHk7STm3C6zk3BbC8dXZ879QtRPqTdOs Cp7NcEpLiOi6vBnhB/pQLRSJUGkbkrYr8KXSOpPQcF7bH17Tr5rgsztFqQrvU/zyyK40XqpyItYPY ZtUUnOOv+QFqFKHy31ZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nwJSl-00EY1F-C7; Wed, 01 Jun 2022 08:12:19 +0000 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nwJSW-00EXsQ-85 for linux-arm-kernel@lists.infradead.org; Wed, 01 Jun 2022 08:12:05 +0000 Received: by mail-pf1-x42b.google.com with SMTP id z17so1277222pff.7 for ; Wed, 01 Jun 2022 01:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CjxfEwNZAv/Ns2YjhAVktI1vfhpKFNGdsrqBv+NvOkk=; b=aKhB0zYrAcHE9EQYEKT2g7DsA3648OnKR/M8ytLi01NrDKBfQOWtxZ0GlOwRXPWShx 8X3OUs/gp80cLKaoNhpPXvuvrdxOQw7cpf+jK0webG1TA85XOEfve62vpkGjXVOkid2+ 6UL51qe0apR+nNwdNVXcSeY83YA5GKWB8H6meLszdRK8DIkJHe13oLACV4sQvvQqcSQB RcDaxRIkVlA8g1ym8drygJvmSLNOwhtQuLCtmb4jhLNFwrMgHRQuF2u0UtTcmGShGOpI 7SreIHf38Ouddqe27CWE6Te3i0BxNVWqHQE4qw3F69h6z4TIn36NR2ZEMhYyy/U6OvyS BZxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CjxfEwNZAv/Ns2YjhAVktI1vfhpKFNGdsrqBv+NvOkk=; b=yZG6Sy0bp+Xj+2T4pME6VGXkq9seYn2rYAVD+MnIFHFZ+v6F6EQeBnqb+rQbYQ3WGW DYbG6assFOm57CbUNu+MS8md5AKgFxIWgQs+2eAMbbq5cOWs2IrDWp1leRm9O/CAhJxl 35JFGR73Lv39nkyj6hSmM2PrT9UabSNNd9injwlPD1ZBCWnns0p8KYukySGSBbPxZ33x jb9jAcSrY9uJ3U4nJiwrOuj729FQLXHyl3oqoRIvVBJDIIqmFMuwnbNAxAy1guN+DjZN UxPWvks5epNjCnnArF6TMGat/OCMQQ3d9zwimEC3kdoDQtAW3uL9l/dur8QIXb0uJCeg x0ww== X-Gm-Message-State: AOAM531t2b4bx200P4acnj2rwKZmBKz8oDyp333vBvLHnP4i28vhdfqN m99awO2IowPr0KSUlw8F7Mc= X-Google-Smtp-Source: ABdhPJxjBIdiCetN9iBXLJVU/D5c4YBixW5Uqour1lmH8glwsFGvDrj0ZkgjEyCEoOM6tS+5L/X6GQ== X-Received: by 2002:a63:184d:0:b0:3fb:74ce:effa with SMTP id 13-20020a63184d000000b003fb74ceeffamr23908491pgy.621.1654071119384; Wed, 01 Jun 2022 01:11:59 -0700 (PDT) Received: from localhost.localdomain ([202.120.234.246]) by smtp.googlemail.com with ESMTPSA id y1-20020a17090ad0c100b001e2f3831102sm792288pjw.17.2022.06.01.01.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jun 2022 01:11:58 -0700 (PDT) From: Miaoqian Lin To: Hector Martin , Sven Peter , Alyssa Rosenzweig , Thomas Gleixner , Marc Zyngier , Linus Walleij , Birger Koblitz , John Crispin , Bert Vermeulen , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Miaoqian Lin Subject: [PATCH 4/6] irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions Date: Wed, 1 Jun 2022 12:09:28 +0400 Message-Id: <20220601080930.31005-5-linmq006@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220601080930.31005-1-linmq006@gmail.com> References: <20220601080930.31005-1-linmq006@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220601_011204_309737_24A66FFE X-CRM114-Status: GOOD ( 15.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org of_get_child_by_name() returns a node pointer with refcount incremented, we should use of_node_put() on it when not need anymore. When kcalloc fails, it missing of_node_put() and results in refcount leak. Fix this by goto out_put_node label. Fixes: 52085d3f2028 ("irqchip/gic-v3: Dynamically allocate PPI partition descriptors") Signed-off-by: Miaoqian Lin --- drivers/irqchip/irq-gic-v3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index 2be8dea6b6b0..1d5b4755a27e 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -1932,7 +1932,7 @@ static void __init gic_populate_ppi_partitions(struct device_node *gic_node) gic_data.ppi_descs = kcalloc(gic_data.ppi_nr, sizeof(*gic_data.ppi_descs), GFP_KERNEL); if (!gic_data.ppi_descs) - return; + goto out_put_node; nr_parts = of_get_child_count(parts_node);