From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753927AbbJUI2E (ORCPT ); Wed, 21 Oct 2015 04:28:04 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:52181 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753906AbbJUI16 (ORCPT ); Wed, 21 Oct 2015 04:27:58 -0400 X-AuditID: cbfee68d-f79ae6d00000149a-d1-56274c8c236e Date: Wed, 21 Oct 2015 08:27:56 +0000 (GMT) From: MyungJoo Ham Subject: Re: Re: [PATCH] devfreq: correctly check failed allocation To: Insu Yun Cc: =?utf-8?Q?=EB=B0=95=EA=B2=BD=EB=AF=BC?= , "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "taesoo@gatech.edu" , "yeongjin.jang@gatech.edu" , "insu@gatech.edu" , "changwoo@gatech.edu" Reply-to: myungjoo.ham@samsung.com MIME-version: 1.0 X-MTR: 20151021082440414@myungjoo.ham Msgkey: 20151021082440414@myungjoo.ham X-EPLocale: ko_KR.utf-8 X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 0 X-EPApproval-Locale: X-EPHeader: ML X-MLAttribute: X-RootMTR: 20151021082440414@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: <386225491.1301181445416075030.JavaMail.weblogic@epmlwas01b> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrEIsWRmVeSWpSXmKPExsWyRsSkWLfHRz3MYOkBXovLu+awOTB6fN4k F8AYxWWTkpqTWZZapG+XwJXxousCW8Ey0YpPX+exNjDeEeli5OQQElCXWLTkJBuILSFgIrG3 +QgzhC0mceHeeqA4F1DNUkaJtWub4YoevJvCDpGYwyjxv3UjUIKDg0VAVeLSGgkQk01AT2Lm 52SQcmEBZ4n7D1cxgYRFBJQk5m5MBOlkFvjLJNE29SczxA1KEmv2vWIBsXkFBCVOznzCArFK VeLq9QVMEHE1iTmTFzJCxMUlLsy9xA5h80rMaH8KVS8nMe3rGqj7pSXOz9rACPPL4u+PoeL8 Esdu72CCsAUkpp45CFWjJTF5/hmoF/kk1ix8ywJTv+vUcmaYXfe3zIXqlZDY2vKEFcRmFlCU mNL9kB3kR2YBTYn1u/TRvcIr4CExafNeVpDfJQSmckjMvnaWaQKj0iwkdbOQjJqFMApZyQJG llWMoqkFyQXFSelFhnrFibnFpXnpesn5uZsYgUnh9L9nvTsYbx+wPsQowMGoxMP7YaFamBBr YllxZe4hRlNgHE1klhJNzgemnrySeENjMyMLUxNTYyNzSzMlcV5FqZ/BQgLpiSWp2ampBalF 8UWlOanFhxiZODilGhhZDE4odD2yTM2/PXnFfhO57HctMXoWflxrPzEoB/MWvmmb0X3k5KR3 X/V+CoS1rMi5+qEteK7Xfev9V9X/pLZwLv09z4A7m100Tdrw7jX3tKVOJk6vaxgeKzrtjLne dbmtxnXqnTUC1Wmv2n5GB5UxB344+bllksPtiVs/9WTNXGe5QSzxY44SS3FGoqEWc1FxIgAf qi7DBQMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrMKsWRmVeSWpSXmKPExsVy+t/tft0eH/Uwg7XbOC0u75rD5sDo8XmT XABjVJpNRmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtBQ JYWyxJxSoFBAYnGxkr6dTVF+aUmqQkZ+cYmtUrShuZGekYGeqZGeoXGslaGBgZEpUE1CWsaL rgtsBctEKz59ncfawHhHpIuRk0NIQF1i0ZKTbCC2hICJxIN3U9ghbDGJC/fWA8W5gGrmMEr8 b90I5HBwsAioSlxaIwFisgnoScz8nAxSLizgLHH/4SomkLCIgJLE3I2JIJ3MAn+ZJNqm/mSG WKUksWbfKxYQm1dAUOLkzCcsEKtUJa5eX8AEEVeTmDN5ISNEXFziwtxLUOfwSsxofwpVLycx 7esaZghbWuL8rA2MMCcv/v4YKs4vcez2DiYIW0Bi6pmDUDVaEpPnn4F6l09izcK3LDD1u04t Z4bZdX/LXKheCYmtLU9YQWxmAUWJKd0P2UF+ZBbQlFi/Sx/dK7wCHhKTNu9lncAoOwtJahaS 7lkI3chKFjCyrGIUTS1ILihOSq8w0StOzC0uzUvXS87P3cQITkDPluxgbLhgfYhRgINRiYf3 w0K1MCHWxLLiytxDjBIczEoivJ/d1cOEeFMSK6tSi/Lji0pzUosPMZoCY2wis5Rocj4wOeaV xBsaG5uYmZhamlgYmJorifPe3MsQJiSQnliSmp2aWpBaBNPHxMEp1cBo99m7bB2vYS138qWG tLbcDQ9Y3nsuUGzrDTRhLf5aLGPV5Mzwl0PSd37krw1H5t+IVYqVblH7NtFpEmvIuSLzjx9O ncvXW6Px+PqvHaFNG3q7Uv+vdVxfFTBXvPb/2sS3gfo/n80wUthgqNoRO3GzrZZz1/tTJ+7P 8PryT1BJVufDs8cifq5KLMUZiYZazEXFiQDJ2wY1VgMAAA== 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 t9L8SA5C024025 >On Mon, Oct 19, 2015 at 8:49 PM, MyungJoo Ham wrote: > >>Since devm_kzalloc can be failed in memory pressure, > >check return value and handle error. > > > >Signed-off-by: Insu Yun > >--- >> drivers/devfreq/devfreq.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > >diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > >index ca1b362..814089f 100644 > >--- a/drivers/devfreq/devfreq.c > >+++ b/drivers/devfreq/devfreq.c > >@@ -482,9 +482,23 @@ struct devfreq *devfreq_add_device(struct device *dev, > > devfreq->profile->max_state * > > devfreq->profile->max_state, > > GFP_KERNEL); > >+ if (!devfreq->trans_table) { > >+ dev_err(dev, "%s: Unable to create transition table for the device\n", > >+ __func__); > >+ err = -ENOMEM; > >+ goto err_dev; > >+ } > >+ > > I don't see a label 'err_dev' in devfreq.c > And please note that you are under a mutex lock here as well; you must unlock it before returning. >Oh, I think I need to unlock. > > For devfreq.c of most recent release candidate, please refer to > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/devfreq/devfreq.c?id=7379047d5585187d1288486d4627873170d0005a > >Sorry I used older version of linux. I will resend patch for current version. > > You don't seem to be based on a recent RC as well. > >I cannot understand what RC means. > It's Release Candidate. Please refer to the git tags in the repo. > >And question is that, when device_register fails, it returns without freeing devfreq. Is it fine? We have a "release" callback defined for the struct device registered with device_register(), which is called when that happens. Cheers, MyungJoo {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I