Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1463056ybt; Mon, 15 Jun 2020 00:27:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzE2z26ldCyy5wQPR17VFoiKIrrV2Ue/vtlMl4SUA+4rwePnnyv/dXHdOMou1tx8LrSTxpv X-Received: by 2002:a17:906:90d4:: with SMTP id v20mr23906054ejw.471.1592206042004; Mon, 15 Jun 2020 00:27:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1592206041; cv=none; d=google.com; s=arc-20160816; b=UfZy/PJNO12l2Pw+EIFJFcsRChkbU/327EOx5R9Wr1e7irxwta2JCRPjfv8wIN5wnB 39zPqr1JGSftNBCqUTr57V23e58Bycfs/LCNez7YsZhIS6Hq2dzw0r/aecMPmbFTuFtX NywW4jo7jiAtlmiE/ojh0h9ZicqRl9kq4IpI/q21DeBPx1sQ0eflriUX7mCTUAOgh6Ml H1PB0RWNlQ23dfm4VLNGVXKygiUkWzakEWIvZBQr0QwcE0vkoxGp4fAc3AGz+LAVp/QQ Od56gxeNnZi75jTU429QtT4tDkmIZUyyQUE/yCqetE1cydtHtydt0iYGSKDXoHgKaN10 48UQ== 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 :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=NZxMRVUbduASJETsrdXSsl+XR+Q8KBTtbahFdHTh8ZI=; b=myr6KJ6p6JaizTPgUKzVfxYrmrP8v4P6ExCJnh6nmxdsfcoqYMyZhmqnrwi6CqRqgC TUv5fkpaNK7jUBocD+PVcatWCGomZ39u2H+sYEacYd2p0RfXYjpXOW5yYCEZgtaYiLRB 2BwHw8Nd5gnHNl+KH1Hns+UrlCvFn7WV6vlR8FWd81YYgCh3MSXeg7Z/iYI1tD8b3Om+ 21Jiy0jb6KtnrVLc6qKicGpOzzBitIY43CX04DKFZtHGskz4Gj3WwWOD+mBPIz/pIX2U k3dQNS3ft2hUsD35ldz04DycHpuZQwVRcMIdkplE3gqi2akeFyT5TwsET6CCLmlyOLyN Cjfg== ARC-Authentication-Results: i=1; mx.google.com; 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 e7si8402611ejr.363.2020.06.15.00.26.59; Mon, 15 Jun 2020 00:27:21 -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; 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 S1728510AbgFOHYu convert rfc822-to-8bit (ORCPT + 99 others); Mon, 15 Jun 2020 03:24:50 -0400 Received: from relay12.mail.gandi.net ([217.70.178.232]:50901 "EHLO relay12.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728318AbgFOHYu (ORCPT ); Mon, 15 Jun 2020 03:24:50 -0400 Received: from xps13 (unknown [91.224.148.103]) (Authenticated sender: miquel.raynal@bootlin.com) by relay12.mail.gandi.net (Postfix) with ESMTPSA id 470A3200014; Mon, 15 Jun 2020 07:24:44 +0000 (UTC) Date: Mon, 15 Jun 2020 09:24:43 +0200 From: Miquel Raynal To: Aditya Pakki Cc: kjlu@umn.edu, wu000273@umn.edu, Han Xu , Richard Weinberger , Vignesh Raghavendra , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mtd: rawnand: gpmi: fix reference count leak due to pm_runtime_get_sync Message-ID: <20200615092443.1e76169d@xps13> In-Reply-To: <20200614034300.130385-1-pakki001@umn.edu> References: <20200614034300.130385-1-pakki001@umn.edu> Organization: Bootlin X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; x86_64-pc-linux-gnu) 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 Hi Aditya, Aditya Pakki wrote on Sat, 13 Jun 2020 22:43:00 -0500: > On calling pm_runtime_get_sync() the reference count of the device > is incremented. In case of failure, decrement the > reference count before returning the error. > > Signed-off-by: Aditya Pakki Missing Fixes/Stable tags here I guess? > --- > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > index 061a8ddda275..657c0be5c038 100644 > --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > @@ -149,8 +149,10 @@ static int gpmi_init(struct gpmi_nand_data *this) > int ret; > > ret = pm_runtime_get_sync(this->dev); > - if (ret < 0) > + if (ret < 0) { > + pm_runtime_put_autosuspend(this->dev); > return ret; > + } > > ret = gpmi_reset_block(r->gpmi_regs, false); > if (ret) > @@ -2264,8 +2266,10 @@ static int gpmi_nfc_exec_op(struct nand_chip *chip, > this->transfers[i].direction = DMA_NONE; > > ret = pm_runtime_get_sync(this->dev); > - if (ret < 0) > + if (ret < 0) { > + pm_runtime_put_autosuspend(this->dev); > return ret; > + } > > /* > * This driver currently supports only one NAND chip. Plus, dies share Thanks, Miquèl