From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Thu, 11 Jun 2015 14:51:22 +0000 Subject: Re: [patch] drm/amdgpu: potential NULL dereference on error Message-Id: <20150611145121.GB30834@mwanda> List-Id: References: <20150611084933.GA27393@mwanda> <55797906.2090501@bfs.de> <20150611122028.GK11734@mwanda> <55799CAE.4070809@bfs.de> In-Reply-To: <55799CAE.4070809@bfs.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: walter harms Cc: Marek =?utf-8?B?T2zFocOhaw==?= , kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, yanyang1 , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= On Thu, Jun 11, 2015 at 04:35:26PM +0200, walter harms wrote: > You still have to check 2 types of error return here. > I simply do not understand why ebugfs_create_file() does not return -ENOMEM > (or returns NULL on any error). To be honest, I don't know why debugfs_create_file() doesn't just return NULL when it is configured out. I think I have asked this before... I think the answer is that it seemed like a good idea at the time. These days we would probably prefer to use: if (enabled(CONFIG_DEBUGFS)) { to test if it's there or not. Maybe that's still the right thing to check here. But debugfs error handling is designed so that under normal situations you don't have to check for errors. It turns out that everyone still does because they are used to checking for errors. The only reason we have to check here is because we do: i_size_write(ent->d_inode, adev->rmmio_size); ^^^^^^^^^^^^ Dereference. regards, dan carpenter From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: Re: [patch] drm/amdgpu: potential NULL dereference on error Date: Thu, 11 Jun 2015 17:51:22 +0300 Message-ID: <20150611145121.GB30834@mwanda> References: <20150611084933.GA27393@mwanda> <55797906.2090501@bfs.de> <20150611122028.GK11734@mwanda> <55799CAE.4070809@bfs.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by gabe.freedesktop.org (Postfix) with ESMTP id 1C3B16E174 for ; Thu, 11 Jun 2015 07:51:49 -0700 (PDT) Content-Disposition: inline In-Reply-To: <55799CAE.4070809@bfs.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: walter harms Cc: Marek =?utf-8?B?T2zFocOhaw==?= , kernel-janitors@vger.kernel.org, dri-devel@lists.freedesktop.org, yanyang1 , Alex Deucher , Christian =?iso-8859-1?Q?K=F6nig?= List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdW4gMTEsIDIwMTUgYXQgMDQ6MzU6MjZQTSArMDIwMCwgd2FsdGVyIGhhcm1zIHdy b3RlOgo+IFlvdSBzdGlsbCBoYXZlIHRvIGNoZWNrIDIgdHlwZXMgb2YgZXJyb3IgcmV0dXJuIGhl cmUuCj4gSSBzaW1wbHkgZG8gbm90IHVuZGVyc3RhbmQgd2h5IGVidWdmc19jcmVhdGVfZmlsZSgp IGRvZXMgbm90IHJldHVybiAtRU5PTUVNCj4gKG9yIHJldHVybnMgTlVMTCBvbiBhbnkgZXJyb3Ip LgoKVG8gYmUgaG9uZXN0LCBJIGRvbid0IGtub3cgd2h5IGRlYnVnZnNfY3JlYXRlX2ZpbGUoKSBk b2Vzbid0IGp1c3QgcmV0dXJuCk5VTEwgd2hlbiBpdCBpcyBjb25maWd1cmVkIG91dC4gIEkgdGhp bmsgSSBoYXZlIGFza2VkIHRoaXMgYmVmb3JlLi4uCgpJIHRoaW5rIHRoZSBhbnN3ZXIgaXMgdGhh dCBpdCBzZWVtZWQgbGlrZSBhIGdvb2QgaWRlYSBhdCB0aGUgdGltZS4KVGhlc2UgZGF5cyB3ZSB3 b3VsZCBwcm9iYWJseSBwcmVmZXIgdG8gdXNlOgoKCWlmIChlbmFibGVkKENPTkZJR19ERUJVR0ZT KSkgewoKdG8gdGVzdCBpZiBpdCdzIHRoZXJlIG9yIG5vdC4gIE1heWJlIHRoYXQncyBzdGlsbCB0 aGUgcmlnaHQgdGhpbmcgdG8KY2hlY2sgaGVyZS4KCkJ1dCBkZWJ1Z2ZzIGVycm9yIGhhbmRsaW5n IGlzIGRlc2lnbmVkIHNvIHRoYXQgdW5kZXIgbm9ybWFsIHNpdHVhdGlvbnMKeW91IGRvbid0IGhh dmUgdG8gY2hlY2sgZm9yIGVycm9ycy4gIEl0IHR1cm5zIG91dCB0aGF0IGV2ZXJ5b25lIHN0aWxs CmRvZXMgYmVjYXVzZSB0aGV5IGFyZSB1c2VkIHRvIGNoZWNraW5nIGZvciBlcnJvcnMuCgpUaGUg b25seSByZWFzb24gd2UgaGF2ZSB0byBjaGVjayBoZXJlIGlzIGJlY2F1c2Ugd2UgZG86CgoJaV9z aXplX3dyaXRlKGVudC0+ZF9pbm9kZSwgYWRldi0+cm1taW9fc2l6ZSk7CiAgICAgICAgICAgICAg ICAgICAgIF5eXl5eXl5eXl5eXgoKRGVyZWZlcmVuY2UuCgpyZWdhcmRzLApkYW4gY2FycGVudGVy CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=