From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8D6A9211E82F1 for ; Fri, 22 Mar 2019 15:56:42 -0700 (PDT) From: "Verma, Vishal L" Subject: Re: [PATCH] nvdimm: btt_devs: fix a NULL pointer dereference and a memory leak Date: Fri, 22 Mar 2019 22:56:40 +0000 Message-ID: <4377c210798b000d60ebdc5150e015737d05565b.camel@intel.com> References: <20190312081529.4889-1-kjlu@umn.edu> In-Reply-To: Content-Language: en-US Content-ID: <9DA9F31267ADB746A1202655693A23A7@intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "kjlu@umn.edu" Cc: "zwisler@kernel.org" , "pakki001@umn.edu" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: On Fri, 2019-03-22 at 22:49 +0000, Verma, Vishal L wrote: > On Tue, 2019-03-12 at 03:15 -0500, Kangjie Lu wrote: > > In case kmemdup fails, the fix releases resources and returns to > > avoid the NULL pointer dereference. > > Also, the error paths in the following code should release > > resources to avoid memory leaks. > > > > Signed-off-by: Kangjie Lu > > --- > > drivers/nvdimm/btt_devs.c | 8 +++++++- > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > Looks good, > Reviewed-by: Vishal Verma Looking again, there is another kmemdup() call in __nd_btt_probe which is lacking error checking. And referring to your other related patch to namespace_devs, that has /several/ instances of the same thing. Instead of fixing just a couple of these, it might be worthwhile to send a wider cleanup patch to catch all of these, at least within drivers/nvdimm/ for starters, instead of a select few. > > > diff --git a/drivers/nvdimm/btt_devs.c b/drivers/nvdimm/btt_devs.c > > index 795ad4ff35ca..565ea0b6f765 100644 > > --- a/drivers/nvdimm/btt_devs.c > > +++ b/drivers/nvdimm/btt_devs.c > > @@ -196,8 +196,13 @@ static struct device *__nd_btt_create(struct > > nd_region *nd_region, > > } > > > > nd_btt->lbasize = lbasize; > > - if (uuid) > > + if (uuid) { > > uuid = kmemdup(uuid, 16, GFP_KERNEL); > > + if (!uuid) { > > + kfree(nd_btt); > > + return NULL; > > + } > > + } > > nd_btt->uuid = uuid; > > dev = &nd_btt->dev; > > dev_set_name(dev, "btt%d.%d", nd_region->id, nd_btt->id); > > @@ -209,6 +214,7 @@ static struct device *__nd_btt_create(struct > > nd_region *nd_region, > > dev_dbg(&ndns->dev, "failed, already claimed by %s\n", > > dev_name(ndns->claim)); > > put_device(dev); > > + kfree(uuid); > > return NULL; > > } > > return dev; > > _______________________________________________ > Linux-nvdimm mailing list > Linux-nvdimm@lists.01.org > https://lists.01.org/mailman/listinfo/linux-nvdimm _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 647BEC43381 for ; Fri, 22 Mar 2019 22:56:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 36FF921925 for ; Fri, 22 Mar 2019 22:56:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728311AbfCVW4m (ORCPT ); Fri, 22 Mar 2019 18:56:42 -0400 Received: from mga05.intel.com ([192.55.52.43]:38775 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727883AbfCVW4m (ORCPT ); Fri, 22 Mar 2019 18:56:42 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Mar 2019 15:56:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,256,1549958400"; d="scan'208";a="309625013" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga005.jf.intel.com with ESMTP; 22 Mar 2019 15:56:41 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 22 Mar 2019 15:56:40 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.56]) by FMSMSX119.amr.corp.intel.com ([169.254.14.119]) with mapi id 14.03.0415.000; Fri, 22 Mar 2019 15:56:40 -0700 From: "Verma, Vishal L" To: "kjlu@umn.edu" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "pakki001@umn.edu" , "zwisler@kernel.org" Subject: Re: [PATCH] nvdimm: btt_devs: fix a NULL pointer dereference and a memory leak Thread-Topic: [PATCH] nvdimm: btt_devs: fix a NULL pointer dereference and a memory leak Thread-Index: AQHU2KvP9fAOZmRsOECRxfaC1K1yNKYYxwKAgAACAgA= Date: Fri, 22 Mar 2019 22:56:40 +0000 Message-ID: <4377c210798b000d60ebdc5150e015737d05565b.camel@intel.com> References: <20190312081529.4889-1-kjlu@umn.edu> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.30.5 (3.30.5-1.fc29) x-originating-ip: [10.232.112.185] Content-Type: text/plain; charset="utf-8" Content-ID: <9DA9F31267ADB746A1202655693A23A7@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQpPbiBGcmksIDIwMTktMDMtMjIgYXQgMjI6NDkgKzAwMDAsIFZlcm1hLCBWaXNoYWwgTCB3cm90 ZToNCj4gT24gVHVlLCAyMDE5LTAzLTEyIGF0IDAzOjE1IC0wNTAwLCBLYW5namllIEx1IHdyb3Rl Og0KPiA+IEluIGNhc2Uga21lbWR1cCBmYWlscywgdGhlIGZpeCByZWxlYXNlcyByZXNvdXJjZXMg YW5kIHJldHVybnMgdG8NCj4gPiBhdm9pZCB0aGUgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlLg0K PiA+IEFsc28sIHRoZSBlcnJvciBwYXRocyBpbiB0aGUgZm9sbG93aW5nIGNvZGUgc2hvdWxkIHJl bGVhc2UNCj4gPiByZXNvdXJjZXMgdG8gYXZvaWQgbWVtb3J5IGxlYWtzLg0KPiA+IA0KPiA+IFNp Z25lZC1vZmYtYnk6IEthbmdqaWUgTHUgPGtqbHVAdW1uLmVkdT4NCj4gPiAtLS0NCj4gPiAgZHJp dmVycy9udmRpbW0vYnR0X2RldnMuYyB8IDggKysrKysrKy0NCj4gPiAgMSBmaWxlIGNoYW5nZWQs IDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+IA0KPiANCj4gTG9va3MgZ29vZCwN Cj4gUmV2aWV3ZWQtYnk6IFZpc2hhbCBWZXJtYSA8dmlzaGFsLmwudmVybWFAaW50ZWwuY29tPg0K DQpMb29raW5nIGFnYWluLCB0aGVyZSBpcyBhbm90aGVyIGttZW1kdXAoKSBjYWxsIGluIF9fbmRf YnR0X3Byb2JlIHdoaWNoDQppcyBsYWNraW5nIGVycm9yIGNoZWNraW5nLg0KQW5kIHJlZmVycmlu ZyB0byB5b3VyIG90aGVyIHJlbGF0ZWQgcGF0Y2ggdG8gbmFtZXNwYWNlX2RldnMsIHRoYXQgaGFz DQovc2V2ZXJhbC8gaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHRoaW5nLg0KDQpJbnN0ZWFkIG9mIGZp eGluZyBqdXN0IGEgY291cGxlIG9mIHRoZXNlLCBpdCBtaWdodCBiZSB3b3J0aHdoaWxlIHRvIHNl bmQNCmEgd2lkZXIgY2xlYW51cCBwYXRjaCB0byBjYXRjaCBhbGwgb2YgdGhlc2UsIGF0IGxlYXN0 IHdpdGhpbg0KZHJpdmVycy9udmRpbW0vIGZvciBzdGFydGVycywgaW5zdGVhZCBvZiBhIHNlbGVj dCBmZXcuDQoNCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL2J0dF9kZXZzLmMg Yi9kcml2ZXJzL252ZGltbS9idHRfZGV2cy5jDQo+ID4gaW5kZXggNzk1YWQ0ZmYzNWNhLi41NjVl YTBiNmY3NjUgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9udmRpbW0vYnR0X2RldnMuYw0KPiA+ ICsrKyBiL2RyaXZlcnMvbnZkaW1tL2J0dF9kZXZzLmMNCj4gPiBAQCAtMTk2LDggKzE5NiwxMyBA QCBzdGF0aWMgc3RydWN0IGRldmljZSAqX19uZF9idHRfY3JlYXRlKHN0cnVjdA0KPiA+IG5kX3Jl Z2lvbiAqbmRfcmVnaW9uLA0KPiA+ICAJfQ0KPiA+ICANCj4gPiAgCW5kX2J0dC0+bGJhc2l6ZSA9 IGxiYXNpemU7DQo+ID4gLQlpZiAodXVpZCkNCj4gPiArCWlmICh1dWlkKSB7DQo+ID4gIAkJdXVp ZCA9IGttZW1kdXAodXVpZCwgMTYsIEdGUF9LRVJORUwpOw0KPiA+ICsJCWlmICghdXVpZCkgew0K PiA+ICsJCQlrZnJlZShuZF9idHQpOw0KPiA+ICsJCQlyZXR1cm4gTlVMTDsNCj4gPiArCQl9DQo+ ID4gKwl9DQo+ID4gIAluZF9idHQtPnV1aWQgPSB1dWlkOw0KPiA+ICAJZGV2ID0gJm5kX2J0dC0+ ZGV2Ow0KPiA+ICAJZGV2X3NldF9uYW1lKGRldiwgImJ0dCVkLiVkIiwgbmRfcmVnaW9uLT5pZCwg bmRfYnR0LT5pZCk7DQo+ID4gQEAgLTIwOSw2ICsyMTQsNyBAQCBzdGF0aWMgc3RydWN0IGRldmlj ZSAqX19uZF9idHRfY3JlYXRlKHN0cnVjdA0KPiA+IG5kX3JlZ2lvbiAqbmRfcmVnaW9uLA0KPiA+ ICAJCWRldl9kYmcoJm5kbnMtPmRldiwgImZhaWxlZCwgYWxyZWFkeSBjbGFpbWVkIGJ5ICVzXG4i LA0KPiA+ICAJCQkJZGV2X25hbWUobmRucy0+Y2xhaW0pKTsNCj4gPiAgCQlwdXRfZGV2aWNlKGRl dik7DQo+ID4gKwkJa2ZyZWUodXVpZCk7DQo+ID4gIAkJcmV0dXJuIE5VTEw7DQo+ID4gIAl9DQo+ ID4gIAlyZXR1cm4gZGV2Ow0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gTGludXgtbnZkaW1tIG1haWxpbmcgbGlzdA0KPiBMaW51eC1udmRp bW1AbGlzdHMuMDEub3JnDQo+IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtbnZkaW1tDQoNCg==