From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f66.google.com ([209.85.215.66]:38091 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753705AbeGFMHM (ORCPT ); Fri, 6 Jul 2018 08:07:12 -0400 Date: Fri, 6 Jul 2018 14:06:58 +0200 From: Johan Hovold To: Andy Gross Cc: David Brown , linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Johan Hovold , stable , Bjorn Andersson Subject: Re: [PATCH] soc: qcom: rmtfs-mem: fix memleak in probe error paths Message-ID: <20180706120658.GF9802@localhost> References: <20180612124141.6307-1-johan@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180612124141.6307-1-johan@kernel.org> Sender: stable-owner@vger.kernel.org List-ID: On Tue, Jun 12, 2018 at 02:41:41PM +0200, Johan Hovold wrote: > Make sure to set the mem device release callback before calling > put_device() in a couple of probe error paths so that the containing > object also gets freed. > > Fixes: d1de6d6c639b ("soc: qcom: Remote filesystem memory driver") > Cc: stable # 4.15 > Cc: Bjorn Andersson > Signed-off-by: Johan Hovold I noticed that this one hasn't made it into linux-next yet, so sending a reminder. > --- > drivers/soc/qcom/rmtfs_mem.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/soc/qcom/rmtfs_mem.c b/drivers/soc/qcom/rmtfs_mem.c > index c8999e38b005..8a3678c2e83c 100644 > --- a/drivers/soc/qcom/rmtfs_mem.c > +++ b/drivers/soc/qcom/rmtfs_mem.c > @@ -184,6 +184,7 @@ static int qcom_rmtfs_mem_probe(struct platform_device *pdev) > device_initialize(&rmtfs_mem->dev); > rmtfs_mem->dev.parent = &pdev->dev; > rmtfs_mem->dev.groups = qcom_rmtfs_mem_groups; > + rmtfs_mem->dev.release = qcom_rmtfs_mem_release_device; > > rmtfs_mem->base = devm_memremap(&rmtfs_mem->dev, rmtfs_mem->addr, > rmtfs_mem->size, MEMREMAP_WC); > @@ -206,8 +207,6 @@ static int qcom_rmtfs_mem_probe(struct platform_device *pdev) > goto put_device; > } > > - rmtfs_mem->dev.release = qcom_rmtfs_mem_release_device; > - > ret = of_property_read_u32(node, "qcom,vmid", &vmid); > if (ret < 0 && ret != -EINVAL) { > dev_err(&pdev->dev, "failed to parse qcom,vmid\n"); Thanks, Johan