From patchwork Wed Jun 21 02:43:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yang Rong X-Patchwork-Id: 1797622 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=xTS4Wi6u; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=vivo.com header.i=@vivo.com header.a=rsa-sha256 header.s=selector2 header.b=id6UcUbF; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Qm7DX6sRgz20XS for ; Wed, 21 Jun 2023 12:46:20 +1000 (AEST) 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: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:In-Reply-To:References: List-Owner; bh=vHCZy6zOgHMYPKZM2fMEuyZ9EbRXTaDs7EqCE7jM85A=; b=xTS4Wi6uR8GBOU gK0HtCArqkLeJcqAB6sgXB2gR82/t1pRhdT31RP4dENSi3A4shaHg75T5h3rXxxOyYvdJalmCEoEQ lsUZ3Bn3rJxH5dPYj76mtn4VPFHqR0/GdtbZ54iIAc8c11vmEJdaousbMJ9KZ+AqyeDt5fUKZPVqN Gj7Wle6ufsuVsdpiu2eAGjcGobWjB09EnUHOO+MaB4VFYJy6zp8Jc63V7cWhrDod8/x7slsX74RZw 3FcYv5FJ2oAWB5TY8cKryagZbhhhugpHOo5gFZ2zvnL00a/u/tl9cMgj7wYiPrneLMrADepfVZ2K7 K0peMWQz0fIX0IKAxr/A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qBnqt-00Cytv-0j; Wed, 21 Jun 2023 02:45:47 +0000 Received: from mail-psaapc01on20709.outbound.protection.outlook.com ([2a01:111:f400:feae::709] helo=APC01-PSA-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qBnqp-00Cysz-1h for linux-mtd@lists.infradead.org; Wed, 21 Jun 2023 02:45:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mSUiAsPQ2T7YgkwrZdPLf8TR+fgVFlGrFoH96O1eF7erjjzDJRu3C36xrisxnkprGleUjeNz5wVkt+ibClBT9DywxwLtpt1h5RCapu2gtptFYdVyp71hdZOA5ReCUSundUlUBDTN9Nrm7t9EGgQXuyw+Xw+Z+azyC3EK0eH52i5l60h/Bt3Dotj/aQzJx90nHdQT3KHSNNHjDdL4CvqOWqQ+JbY78fAng02j8Z2J4r26SodpBLJmt6CYUQ1djDHw7tLLJGGN97q7LtUPV2LrbUd0ousT/Qdgw+MeP4Vi8M5HgFRml/FV6IYtv2uzj/7150HDRQxSnyd3NRhjCefCNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BWppc2odrHs1l3f5HcSeU+ZsQ2BBS/KFEI+FnbPD0zg=; b=F89I9Ln3seLHLqoT1Wl//vZc7s2QlDSiSPz9Ycri5nODoeF9W0+224qBU119WQeK1flb8jyRN50UeRxbBMIEzoobu6+Eov5m+K85+2Hb30PSPOYkZ0491I3carv0avMOh9Ko/bjDUH6e5giNw9f/pYsJEDQsBLclaEH0phjLCKJWqjePjNGNfjvoFCOQWy0XZqStWR3ODkAK5J3HllqEBli8PpNaPzUZhGuqkvpxWDj09BSsPIGevCjAgZb6TeBT5KaFk04U4H2ZFOGTgXMpZBm5Aazo/3af9gKt74jhd6UMIT8TL3lSgktgIxjXBxBfF9zOraMA9aXxUeP3d26btg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vivo.com; dmarc=pass action=none header.from=vivo.com; dkim=pass header.d=vivo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vivo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BWppc2odrHs1l3f5HcSeU+ZsQ2BBS/KFEI+FnbPD0zg=; b=id6UcUbFKhhueQR9IR0TujmTchZN+b2sDLCk8s1MO7nAnLgJxI6hpMX2eMiOromT8+X2B+K/hey+JUH3FJIrbGYwHHRoMjN6YeOI1OenvatfYvvakizlASmOlG5rLvCUQ9Km5l8KKUaDYyyoxTSZnzpCqLMwr5Ww5xf9/o9GGkBlxj3lVKKEhmwk5Sk0bVWPtACLeAQW5Q8xdbded5n/lhOiTbvc/DUGiHSJl8rXn+IdQmTBeMBUiaAj9sW2nnLk9cTj/AtKBUUQ7stxAAha3wRycUl4yb/oi2op98ylNAGBPdJ+MjZNSL1m8H4G+6jEhkOHVVn6dnfyM4hFrDs9fw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=vivo.com; Received: from SEYPR06MB6615.apcprd06.prod.outlook.com (2603:1096:101:172::11) by TYZPR06MB6168.apcprd06.prod.outlook.com (2603:1096:400:335::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.37; Wed, 21 Jun 2023 02:45:29 +0000 Received: from SEYPR06MB6615.apcprd06.prod.outlook.com ([fe80::c817:d237:dc0d:576]) by SEYPR06MB6615.apcprd06.prod.outlook.com ([fe80::c817:d237:dc0d:576%4]) with mapi id 15.20.6521.023; Wed, 21 Jun 2023 02:45:29 +0000 From: Yang Rong To: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org (open list:MEMORY TECHNOLOGY DEVICES (MTD)), linux-kernel@vger.kernel.org (open list) Cc: opensource.kernel@vivo.com, luhongfei@vivo.com, Yang Rong Subject: [PATCH] drivers: mtd: Fix potential memory leak in mtd_check_of_node Date: Wed, 21 Jun 2023 10:43:22 +0800 Message-ID: <20230621024517.1155-1-yangrong@vivo.com> X-Mailer: git-send-email 2.41.0.windows.1 X-ClientProxiedBy: SG2PR03CA0131.apcprd03.prod.outlook.com (2603:1096:4:91::35) To SEYPR06MB6615.apcprd06.prod.outlook.com (2603:1096:101:172::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SEYPR06MB6615:EE_|TYZPR06MB6168:EE_ X-MS-Office365-Filtering-Correlation-Id: 157d7d07-88f3-482a-b94f-08db720192ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: swE8vRY+x8uumMPXEIOtEkkzL0qcdU5yZrRyiRYaRTxKu5RuQQl4kURs0ypB0Eid2EuC5CM1smOPBsL71F1iQa4siXkxyM9xDnrcxoSQ5a278ogRlHMzniAietAqpKcKSNIQxYdwQ01UOeix+1qEq0pvY+XzJlmGFcRK88RHeI5feWNH0aa7xwPESkK5/OhgDnaoJ7iusfEgbyRKTJdibzgmM7aVMN0WshkQg51TngQEktkTbCsU7LW8nWdAqnxaU519L1RPMdmf8XRZf7fjoxzIPe/z7dB9RV/rrVIB0DFbN0NK+msA3/EuVag+gSI4GusINsvzOomHkEXL7YosFzan9hdaHW8WMOvI2fllWU5nYaY2m4A2tNSwKMm9Yd4xDfWWX/5IQeKDTkHBTrdM8DEsyzIsW+h9FwwJDV0DJxD1QufRZKtfV6bcLnE8M9nHcFehUzB48STi3jzAU6ksArOBCyJga3FNw/E8CepVHepP+bJatJ9LC+FwaZKQBZpxFv/4IaW4mrqnXyJa0/APpuwU3ZbAq6NowqdAp6HHvEenFo9i04vN663bp/Z8q3FlumbtWfL9RlzrU8DFCHFLPNRMhniGWrTUKdfKd6GIA2iwZyXjOn4PwxE/kENU6Xq7 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SEYPR06MB6615.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(366004)(451199021)(38350700002)(1076003)(6506007)(26005)(6512007)(2616005)(83380400001)(186003)(5660300002)(8676002)(2906002)(107886003)(36756003)(41300700001)(6666004)(6486002)(478600001)(52116002)(66556008)(66476007)(4326008)(66946007)(110136005)(316002)(86362001)(8936002)(38100700002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xpJfWcfLCZYfy8FbmkyE9YRzOod9V/5P1Dfem1yyI3X/hvj1AJILa3hsolRwO2nsbhMcTrSyphxHmNNzXo2tHWPXPzmQZXrzYHZVeK6oOGLyioUxsAgARwmeVaZSIywlFCFgE6uL9H1diy08ajPr+JIqbPFTn8sjgoZPhPJyuDjdLjFBoqw6gBowAnAsuui30EUq2a12aCVwGC4wfn/AAlg2nJB2zMGs8X0EheW4h7MVwpWmbOX8rvMNAWbB0vBGO5UWnFTUIE9SuR+hh0t85DXbu4rbHfP9B9OLwuGMy/GS/W5zcpk6vuLrQ4fKdP9yP6DxRtCNW7Hu0gIPMlLWPn5oTQZDgmm8v7BBKXqrJLQcdAqiEJfHPaR/E54Mw5Hqa3kbIvoxSbp8myLVxI4TKQhAr8iAEiLgAuE4tfak9FJ3RzI1kB9PCLe6qlsavJHn6WWfpSg11MBWzYb6HDYulngR9q1dd6saveYW8E5Df/o9HgrmBMuqELSzNX2Ds3OH1sbbhStMd0wkYmMI/0IT4nTW5Y8YPQRKFugq3165MXalusNlo2pPmV2B/lfFGAMRKNkMExp3jwnMKgtxMlTbqCVfUoTwPXOA0l4P+YzkaknmjPQSpfU4eLDu64rq5aZruoJrmPNHBpncCLd7STqtSwePrtGqOQubtObfVlvituG7N08UFzS+rePEwNqC2Q+u/AX58MQTIEuK+qaYEzbjHiJFuhg+PkWUbVCJXFx0FytlHEru4KjFEH/yX3g7b7VSnz6GJrQtM69WZvf3OL6Y69qVBroU0lAxAMdQXO4MgrTtoanw56EXyf8wGVAGoZ5PAXOFkqT9jgQ0Q/z5Bcm23sBfgcxaaZXLnCDQWN4zyIduWb/fyZ2aw++mWy+KBU0Yl/g0sjHkJ9+1JrKonq/Vb7/85nuJSHq9evowVf53wYSc6Ts7yKA/nDfG3Ti7Op81NnXDc8uMUdsXFNrvV0Tc/+KGz13OD+x+lChI0qQmHyzdi5HYTmc7U/0lFmbYezu6Kee5bXV2Odm6YunhVv+sewLeaapxcQCQiOjiNHP7sRJMzRKeaq3Hc0Y3y+22VDHDxPI38Sv/jUY9zK5Up/PUc5+ziB5F2PgFmWot6XxgAwoK9Sy3wAVoD8izd6XJopK7h/0hURPHbzf/795bwgGKt5nd2FluX/KwFTRG+/sFdYm80Ybu+XkKL01IeITQC7MNY4vsZOhvaBcL18OIx4pPqtFpKZv7GBPJ5EymxAenluxhziuqb17O/tdI1jVO57VuBE+gyeIsTfCUqy6JL/ToVdebQD+dWD706K3ECDdH652odH6HvX9oxUpgjag1femE1XrELe7ShhZS+L1hGnxbYgPtA4qdVYdS0UA1hpIHk2BfyzddGmSRlTbgWOCiCUti24XOuUDPjENIOMt4sQDGiYjKniPh8gBOWvhP96uJ/0fEQg2Kuy4uM5mivol9NgliZXfFlNJYuYXFYW5DEy3JvzucG7uFDC4ZXKt0JhMMxT3FMCjzphqEo4a+hUHJ+wCjAXrWpfoBUEBInZ/jiConCPyo3A1nnW5KrN3Y20KEKEc9N4YfAXs3niypTUZ4DN0/ X-OriginatorOrg: vivo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 157d7d07-88f3-482a-b94f-08db720192ee X-MS-Exchange-CrossTenant-AuthSource: SEYPR06MB6615.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2023 02:45:29.2608 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 923e42dc-48d5-4cbe-b582-1a797a6412ed X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ar313aw6M+P6zTW2hIVHO4RMAClu7fJ3IukmwKPCv9774zr46t+QtratLiJPd65dmshJ6klTuPoBp7jM2W04mQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYZPR06MB6168 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230620_194543_989847_7F4075C7 X-CRM114-Status: GOOD ( 11.07 ) X-Spam-Score: -0.2 (/) X-Spam-Report: Spam detection software, running on the system "bombadil.infradead.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The for_each_child_of_node API internally increases the reference count for each child node traversed. If a break statement is encountered inside the loop, it leaves one reference unbalanced leading t [...] Content analysis details: (-0.2 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The for_each_child_of_node API internally increases the reference count for each child node traversed. If a break statement is encountered inside the loop, it leaves one reference unbalanced leading to a memory leak. The function mtd_check_of_node in drivers/mtd/mtdcore.c uses such a loop and a break statement without a corresponding of_node_put. This patch fixes the potential memory leak by adding a call to of_node_put before the break statement inside the for_each_child_of_node loop in the function mtd_check_of_node. Signed-off-by: Yang Rong --- drivers/mtd/mtdcore.c | 1 + 1 file changed, 1 insertion(+) -- 2.35.3 diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index e00b12aa5ec9..b02cb8b1a38d 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -591,6 +591,7 @@ static void mtd_check_of_node(struct mtd_info *mtd) if (plen == mtd_name_len && !strncmp(mtd->name, pname + offset, plen)) { mtd_set_of_node(mtd, mtd_dn); + of_node_put(mtd_dn); break; } }