From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751450AbbJBCLd (ORCPT ); Thu, 1 Oct 2015 22:11:33 -0400 Received: from mailout1.samsung.com ([203.254.224.24]:58513 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751063AbbJBCLb (ORCPT ); Thu, 1 Oct 2015 22:11:31 -0400 X-AuditID: cbfee691-f79d66d000001509-bc-560de7d0ef3b Date: Fri, 02 Oct 2015 02:11:27 +0000 (GMT) From: MyungJoo Ham Subject: Re: [PATCH] PM / devfreq: fix double kfree To: Geliang Tang , =?utf-8?Q?=EB=B0=95=EA=B2=BD=EB=AF=BC?= Cc: "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" Reply-to: myungjoo.ham@samsung.com MIME-version: 1.0 X-MTR: 20151002020927935@myungjoo.ham Msgkey: 20151002020927935@myungjoo.ham X-EPLocale: ko_KR.utf-8 X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 1 X-EPApproval-Locale: X-EPHeader: ML X-MLAttribute: X-RootMTR: 20151002020927935@myungjoo.ham X-ParentMTR: X-ArchiveUser: X-CPGSPASS: N X-ConfirmMail: N,general Content-type: text/plain; charset=utf-8 MIME-version: 1.0 Message-id: <361552041.487551443751886669.JavaMail.weblogic@epmlwas01a> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWyRsSkWPfCc94wg+/t+haXd81hc2D0+LxJ LoAxissmJTUnsyy1SN8ugSvjcedXloJdPBXzN2Y3MPbwdDFycggJqEssWnKSDcSWEDCRmLjt PDuELSZx4d56oDgXUM1SRonfXa/giu6/62SEaJ7DKPF6aX4XIwcHi4CKxLvZ7iAmm4CexMzP ySAVwgLGEndmTGIFsUUECiUuL3oMNp5ZoEri9MWVrBBTlCTW7HvFAmLzCghKnJz5hAVik6rE r5tTWSHiahKTJ/5kgoiLS1yYewnqTF6JGe1PoerlJKZ9XcMMcoKEgLRE18pomE8Wf3/MDGHz Sxy7vQNqjIDE1DMHGSFsLYmOZwuhbD6JNQvfssDU7zq1nBlm1f0tc6F6JSS2tjxhhXhFUWJK 90N2kLXMApoS63fpo/uEV8Bd4t/1ZyygwJQQ6OWQWHHrPNsERqVZSOpmIRk1C2EUspIFjCyr GEVTC5ILipPSi0z1ihNzi0vz0vWS83M3MQLTwel/zybuYLx/wPoQowAHoxIPb8Rp3jAh1sSy 4srcQ4ymwCiayCwlmpwPTDp5JfGGxmZGFqYmpsZG5pZmSuK8OtI/g4UE0hNLUrNTUwtSi+KL SnNSiw8xMnFwSjUwGrDM1NBLtLG5ei3dsE7gziWT1TM5E/wZ5syZ6+Jm1rb+w1+NT++P/441 V4tynLCgwVz00hGb9zcTf3v0m5T+qTF/2jS5eXWmHmsHs/G6XbFsLG66zZuf886W2xrOziGk fEjx8bTLZX3MhR0LtL8xV/6puz4r1Cln0+y6cjYPY/NpkmVtYUVKLMUZiYZazEXFiQBJMHuw AgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAKsWRmVeSWpSXmKPExsVy+t/tXt3zz3nDDKZ/1LO4vGsOmwOjx+dN cgGMUWk2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUBD lRTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2StGG5kZ6RgZ6pkZ6hsaxVoYGBkamQDUJaRmP O7+yFOziqZi/MbuBsYeni5GTQ0hAXWLRkpNsILaEgInE/XedjBC2mMSFe+vZIGrmMEq8Xprf xcjBwSKgIvFutjuIySagJzHzczJIhbCAscSdGZNYQWwRgUKJy4ses4PYzAJVEqcvrmSFmKIk sWbfKxYQm1dAUOLkzCcsEJtUJX7dnMoKEVeTmDzxJxNEXFziwtxL7BA2r8SM9qdQ9XIS076u YQY5QUJAWqJrZTTMwYu/P2aGsPkljt3eATVGQGLqmYNQT2lJdDxbCGXzSaxZ+JYFpn7XqeXM MKvub5kL1SshsbXlCSvEK4oSU7ofsoOsZRbQlFi/Sx/dJ7wC7hL/rj9jmcAoOwtJahaS7lkI 3chKFjCyrGIUTS1ILihOSq8w0itOzC0uzUvXS87P3cQITj3PFu1g/Hfe+hCjAAejEg9vxGne MCHWxLLiytxDjBIczEoivLv3A4V4UxIrq1KL8uOLSnNSiw8xmgIjbCKzlGhyPjAt5pXEGxob m5iZmFqaWBiYmiuJ897YyxAmJJCeWJKanZpakFoE08fEwSnVwBiSsbgiJ7BEJZu78tcETQb2 8OM6P4RkMp8nVSq0evT/WKF8cuaX5K7d6rs7LqrKSZX4VlTLGzb7rj703VAjlfEN61tvp182 nrn9twI/nyjydg5vivi5ZW3RArarP9rfzfq3sE5SasXptauFDwV3xB5lP7V52hFJz3dHfzPc ZOQ01N09LT9gpRJLcUaioRZzUXEiALrXSHxTAwAA DLP-Filter: Pass X-CFilter-Loop: Reflected 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 t922C83q008800 > When device_register() fails, kfree(devfreq) is called already in > devfreq_dev_release(), hence there is no need to call kfree(devfreq) > in err_dev again. > > Signed-off-by: Geliang Tang Thank you for pointing out that put_device() will eventually call kfree anyway. Signed-off-by: MyungJoo Ham Cheers, MyungJoo > --- > drivers/devfreq/devfreq.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > index 3927ed9..9b352da 100644 > --- a/drivers/devfreq/devfreq.c > +++ b/drivers/devfreq/devfreq.c > @@ -492,7 +492,7 @@ struct devfreq *devfreq_add_device(struct device *dev, > if (err) { > put_device(&devfreq->dev); > mutex_unlock(&devfreq->lock); > - goto err_dev; > + goto err_out; > } > > mutex_unlock(&devfreq->lock); > @@ -518,7 +518,6 @@ struct devfreq *devfreq_add_device(struct device *dev, > err_init: > list_del(&devfreq->node); > device_unregister(&devfreq->dev); > -err_dev: > kfree(devfreq); > err_out: > return ERR_PTR(err); > -- > 2.5.0 {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I