From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752149AbcFGXWU (ORCPT ); Tue, 7 Jun 2016 19:22:20 -0400 Received: from m15-14.126.com ([220.181.15.14]:30641 "EHLO m15-14.126.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751983AbcFGXWS (ORCPT ); Tue, 7 Jun 2016 19:22:18 -0400 X-Originating-IP: [113.200.155.185] Date: Wed, 8 Jun 2016 07:22:11 +0800 (CST) From: "Tiezhu Yang" To: martin.petersen@oracle.com Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] scsi: ufs: fix potential memory leak X-Priority: 3 X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build 20160223(81157.8522) Copyright (c) 2002-2016 www.mailtech.cn 126com Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <689362a0.6c4.1552d2c62c9.Coremail.kernelpatch@126.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: DsqowAD3MnEkV1dXv8gJAA--.61908W X-CM-SenderInfo: xnhu0vxosd3ubk6rjloofrz/1tbiWw2B9VPNCmSJHAABsG X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u57NMP33002410 If the function ufshcd_parse_clock_info returns an error, the memory clkfreq allocated by devm_kzalloc will be freed at that time. But when the function ufshcd_parse_clock_info returns 0 on success, there exists potential memory leak, this patch fixes it. Signed-off-by: Tiezhu Yang --- drivers/scsi/ufs/ufshcd-pltfrm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd-pltfrm.c b/drivers/scsi/ufs/ufshcd-pltfrm.c index db53f38..83f757f 100644 --- a/drivers/scsi/ufs/ufshcd-pltfrm.c +++ b/drivers/scsi/ufs/ufshcd-pltfrm.c @@ -122,6 +122,10 @@ static int ufshcd_parse_clock_info(struct ufs_hba *hba) clki->min_freq, clki->max_freq, clki->name); list_add_tail(&clki->list, &hba->clk_list_head); } + + devm_kfree(dev, clkfreq); + clkfreq = NULL; + out: return ret; } -- 1.8.3.1