Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp9362ybt; Tue, 23 Jun 2020 13:54:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwHxvk3Pi4U49kf9p/brQvxFyR4brBeTHt3gwqaNTOtjtNs7f7YJ8nVs0mp5UJldSHm+Eht X-Received: by 2002:a17:906:4155:: with SMTP id l21mr15520011ejk.438.1592945670347; Tue, 23 Jun 2020 13:54:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592945670; cv=none; d=google.com; s=arc-20160816; b=EaNIkTXxtY5X94kjtZMGkPuRZ7aQE//V+PqVoOc70/vZFsRWbtYFXH5u0Nx7uV45wR 9MxLwZ/4eJu7PWRKUaFYj9bFoGbQzyDf6hLJy2bE2m6+bI3BY2gqoICBynkHBRqC+WVV BrhlqdiOd+5czmqXa644INj4jSgmCGFTcJS8mzyT72SGkgZ9e2xNn0Fpow0kWWy/BUnZ zwq4MQhU70yZQHDdMuvYD1+lOih0zRJZx4eTDrQpHXeaWdv6sRSJBs03TEEx8pvYrZB9 amHniRiXJzCAMJX02kz2MgcS/yLzS7TZn8fhbZGZ8Jf1GDzmvTMt5pfCDAGw4ghm8evn dB7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=lg0KVPq13DK8pdLCvshH57D67OyySJk36p7t9VwBBlk=; b=bS/sw/YHDtt6UleN0AcPw0FV5VfjVn5uU+fVWA9fie6eiQK+PHgu3FnBBZj69ueJRA aiSB/+90fgA8nmrrwdH3z1im4H6GP5LIzAmXgnYCfg3kupDVMRVrO/c2vEHihuBhtFN2 MHoph9AGT5Ur+Nn8w4ObGiQaik2E1zffSsHNyqz3pJzzNeU1GH6dhtj0Sdd7VLAAFnwA 6faL1zgGvSLDCeg8j4eSmE4/7ueRVQ/jy7z+fzGSj4iWFmD8lZMAFhOeHnKgkutIREgG PFHG+PtInYqTzZHD4PRR49RmcG1cSUfkKT/o1pcm9GIxER+pe6WG/FCwZQ1rKzwG6dZy O7Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=C8UJrRoT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bx5si7105541edb.375.2020.06.23.13.54.06; Tue, 23 Jun 2020 13:54:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=C8UJrRoT; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392300AbgFWUur (ORCPT + 99 others); Tue, 23 Jun 2020 16:50:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:47768 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392640AbgFWUsi (ORCPT ); Tue, 23 Jun 2020 16:48:38 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 558902098B; Tue, 23 Jun 2020 20:48:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592945318; bh=3PAE0rb8umTgiVnbizPCTpcvNcF8NBTtTzgHjp8hxiU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C8UJrRoTw/PCFF205zc76Sd8njwp+rDBAB7U3XoWMFAqfLT7uUNfagt9/bqNrB8U2 2nZhvbWN8wCcGzzyHoGJxmUfi8nXPEmQVCVhCpkRLyZoyJg16Fvyq4GKT6+Ks0wZyM dfx0B8jjUYBfdvwGD+Q5E9FnGSegCE1BHXmX+W/Q= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nishka Dasgupta , Miquel Raynal , Sasha Levin Subject: [PATCH 4.14 124/136] mtd: rawnand: oxnas: Add of_node_put() Date: Tue, 23 Jun 2020 21:59:40 +0200 Message-Id: <20200623195310.017515738@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195303.601828702@linuxfoundation.org> References: <20200623195303.601828702@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nishka Dasgupta [ Upstream commit c436f68beeb20f2f92937677db1d9069b0dd2a3d ] Each iteration of for_each_child_of_node puts the previous node, but in the case of a goto from the middle of the loop, there is no put, thus causing a memory leak. Hence add an of_node_put under a new goto to put the node at a loop exit. Issue found with Coccinelle. Signed-off-by: Nishka Dasgupta Signed-off-by: Miquel Raynal Signed-off-by: Sasha Levin --- drivers/mtd/nand/oxnas_nand.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/nand/oxnas_nand.c b/drivers/mtd/nand/oxnas_nand.c index ff58999887388..7f0ba28f8a007 100644 --- a/drivers/mtd/nand/oxnas_nand.c +++ b/drivers/mtd/nand/oxnas_nand.c @@ -123,7 +123,7 @@ static int oxnas_nand_probe(struct platform_device *pdev) GFP_KERNEL); if (!chip) { err = -ENOMEM; - goto err_clk_unprepare; + goto err_release_child; } chip->controller = &oxnas->base; @@ -144,12 +144,12 @@ static int oxnas_nand_probe(struct platform_device *pdev) /* Scan to find existence of the device */ err = nand_scan(mtd, 1); if (err) - goto err_clk_unprepare; + goto err_release_child; err = mtd_device_register(mtd, NULL, 0); if (err) { nand_release(chip); - goto err_clk_unprepare; + goto err_release_child; } oxnas->chips[nchips] = chip; @@ -166,6 +166,8 @@ static int oxnas_nand_probe(struct platform_device *pdev) return 0; +err_release_child: + of_node_put(nand_np); err_clk_unprepare: clk_disable_unprepare(oxnas->clk); return err; -- 2.25.1