From patchwork Mon Nov 8 05:35:10 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Axel Lin X-Patchwork-Id: 70397 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-gy0-f184.google.com (mail-gy0-f184.google.com [209.85.160.184]) by ozlabs.org (Postfix) with ESMTP id 2B1D1B70FE for ; Mon, 8 Nov 2010 16:31:31 +1100 (EST) Received: by gyf3 with SMTP id 3sf5707591gyf.11 for ; Sun, 07 Nov 2010 21:31:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:received:received:subject:from:to:cc :date:message-id:mime-version:x-mailer:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type; bh=cNdzayqHwM97D1DMOH27zJzGeQWSGymOqjIwJTQ+yDY=; b=HsOq6CaAEMkpFzwnMt1dpR3Ocz1ZdyLfrzRVe63+SOaFUZatU33lGXkI0nXaFmmVrI Lz3C60BUC60opIi6J3bo1ReRoL0PyIaooSOci/phxzKhSRqiCy0WtPRH3t1SggZnf/uS Kw5JA0RxBG6P3/uWpQF+mviXacq2N6Gc2z8FA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:subject:from:to:cc:date:message-id :mime-version:x-mailer:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type; b=dozw9xwxEcjYUX9Bt9Mxfzr/K6cj20wjS0qE0L66/d2p+lnOyZW0MlYfPQ+pd55BFn x7FN6Uf8JdaDBx0KN/FFtxeTy4MrSEadEa6Xv2yW58eS0AFmg9xiG+FwCIPlIW0FIb/g 2+qb/Vg9PxMXTpyCBrtvdpBa8YpwhewTvhk0E= Received: by 10.100.38.13 with SMTP id l13mr74078anl.78.1289194289024; Sun, 07 Nov 2010 21:31:29 -0800 (PST) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.101.28.24 with SMTP id f24ls1663995anj.0.p; Sun, 07 Nov 2010 21:31:28 -0800 (PST) Received: by 10.100.133.11 with SMTP id g11mr708701and.12.1289194288716; Sun, 07 Nov 2010 21:31:28 -0800 (PST) Received: by 10.100.133.11 with SMTP id g11mr708700and.12.1289194288655; Sun, 07 Nov 2010 21:31:28 -0800 (PST) Received: from mail-gx0-f176.google.com (mail-gx0-f176.google.com [209.85.161.176]) by gmr-mx.google.com with ESMTP id d34si1735877and.11.2010.11.07.21.31.27; Sun, 07 Nov 2010 21:31:27 -0800 (PST) Received-SPF: pass (google.com: domain of axel.lin@gmail.com designates 209.85.161.176 as permitted sender) client-ip=209.85.161.176; Received: by gxk4 with SMTP id 4so1802220gxk.21 for ; Sun, 07 Nov 2010 21:31:27 -0800 (PST) Received: by 10.100.226.20 with SMTP id y20mr2196532ang.46.1289194287448; Sun, 07 Nov 2010 21:31:27 -0800 (PST) Received: from [192.168.100.50] (60-251-136-127.HINET-IP.hinet.net [60.251.136.127]) by mx.google.com with ESMTPS id x32sm354459anx.4.2010.11.07.21.31.24 (version=SSLv3 cipher=RC4-MD5); Sun, 07 Nov 2010 21:31:26 -0800 (PST) Subject: [rtc-linux] [PATCH] rtc: rtc-sh - fix a memory leak From: Axel Lin To: linux-kernel Cc: Alessandro Zummo , rtc-linux@googlegroups.com, Andrew Morton , Paul Mundt Date: Mon, 08 Nov 2010 13:35:10 +0800 Message-Id: <1289194510.682.5.camel@mola> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 X-Original-Sender: axel.lin@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of axel.lin@gmail.com designates 209.85.161.176 as permitted sender) smtp.mail=axel.lin@gmail.com; dkim=pass (test mode) header.i=@gmail.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: Sender: rtc-linux@googlegroups.com List-Subscribe: , List-Unsubscribe: , request_mem_region() will call kzalloc to allocate memory for struct resource. release_resource() unregisters the resource but does not free the allocated memory, thus use release_mem_region() instead to fix the memory leak. Signed-off-by: Axel Lin --- drivers/rtc/rtc-sh.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c index 5efbd59..06e41ed 100644 --- a/drivers/rtc/rtc-sh.c +++ b/drivers/rtc/rtc-sh.c @@ -761,7 +761,7 @@ err_unmap: clk_put(rtc->clk); iounmap(rtc->regbase); err_badmap: - release_resource(rtc->res); + release_mem_region(rtc->res->start, rtc->regsize); err_badres: kfree(rtc); @@ -786,7 +786,7 @@ static int __exit sh_rtc_remove(struct platform_device *pdev) } iounmap(rtc->regbase); - release_resource(rtc->res); + release_mem_region(rtc->res->start, rtc->regsize); clk_disable(rtc->clk); clk_put(rtc->clk);