From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Wed, 12 Oct 2016 06:17:30 +0000 Subject: [patch] drm/amdgpu: potential NULL dereference in debugfs code Message-Id: <20161012061730.GP12841@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Alex Deucher , Tom St Denis Cc: Jammy Zhou , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Junwei Zhang , Christian =?iso-8859-1?Q?K=F6nig?= , Monk Liu debugfs_create_file() returns NULL on error, it only returns error pointers if debugfs isn't enabled in the config and we checked for that earlier so it can't happen. Fixes: 4f4824b55650 ('drm/amd/amdgpu: Convert ring debugfs entries to binary') Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 85aeb0a..8d16eaf 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -371,8 +371,8 @@ static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, ent = debugfs_create_file(name, S_IFREG | S_IRUGO, root, ring, &amdgpu_debugfs_ring_fops); - if (IS_ERR(ent)) - return PTR_ERR(ent); + if (!ent) + return -ENOMEM; i_size_write(ent->d_inode, ring->ring_size + 12); ring->ent = ent; From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [patch] drm/amdgpu: potential NULL dereference in debugfs code Date: Wed, 12 Oct 2016 09:17:30 +0300 Message-ID: <20161012061730.GP12841@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from aserp1040.oracle.com (aserp1040.oracle.com [141.146.126.69]) by gabe.freedesktop.org (Postfix) with ESMTPS id 567F46E7BF for ; Wed, 12 Oct 2016 06:17:52 +0000 (UTC) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher , Tom St Denis Cc: Jammy Zhou , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Junwei Zhang , Christian =?iso-8859-1?Q?K=F6nig?= , Monk Liu List-Id: dri-devel@lists.freedesktop.org ZGVidWdmc19jcmVhdGVfZmlsZSgpIHJldHVybnMgTlVMTCBvbiBlcnJvciwgaXQgb25seSByZXR1 cm5zIGVycm9yCnBvaW50ZXJzIGlmIGRlYnVnZnMgaXNuJ3QgZW5hYmxlZCBpbiB0aGUgY29uZmln IGFuZCB3ZSBjaGVja2VkIGZvciB0aGF0CmVhcmxpZXIgc28gaXQgY2FuJ3QgaGFwcGVuLgoKRml4 ZXM6IDRmNDgyNGI1NTY1MCAoJ2RybS9hbWQvYW1kZ3B1OiBDb252ZXJ0IHJpbmcgZGVidWdmcyBl bnRyaWVzIHRvIGJpbmFyeScpClNpZ25lZC1vZmYtYnk6IERhbiBDYXJwZW50ZXIgPGRhbi5jYXJw ZW50ZXJAb3JhY2xlLmNvbT4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfcmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jpbmcu YwppbmRleCA4NWFlYjBhLi44ZDE2ZWFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9yaW5nLmMKQEAgLTM3MSw4ICszNzEsOCBAQCBzdGF0aWMgaW50IGFtZGdwdV9kZWJ1Z2Zz X3JpbmdfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAllbnQgPSBkZWJ1Z2ZzX2Ny ZWF0ZV9maWxlKG5hbWUsCiAJCQkJICBTX0lGUkVHIHwgU19JUlVHTywgcm9vdCwKIAkJCQkgIHJp bmcsICZhbWRncHVfZGVidWdmc19yaW5nX2ZvcHMpOwotCWlmIChJU19FUlIoZW50KSkKLQkJcmV0 dXJuIFBUUl9FUlIoZW50KTsKKwlpZiAoIWVudCkKKwkJcmV0dXJuIC1FTk9NRU07CiAKIAlpX3Np emVfd3JpdGUoZW50LT5kX2lub2RlLCByaW5nLT5yaW5nX3NpemUgKyAxMik7CiAJcmluZy0+ZW50 ID0gZW50OwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753437AbcJLGTY (ORCPT ); Wed, 12 Oct 2016 02:19:24 -0400 Received: from aserp1050.oracle.com ([141.146.126.70]:28083 "EHLO aserp1050.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752427AbcJLGTO (ORCPT ); Wed, 12 Oct 2016 02:19:14 -0400 Date: Wed, 12 Oct 2016 09:17:30 +0300 From: Dan Carpenter To: Alex Deucher , Tom St Denis Cc: Christian =?iso-8859-1?Q?K=F6nig?= , David Airlie , Chunming Zhou , Monk Liu , Junwei Zhang , Jammy Zhou , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org Subject: [patch] drm/amdgpu: potential NULL dereference in debugfs code Message-ID: <20161012061730.GP12841@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.6.0 (2016-04-01) X-Source-IP: aserp1040.oracle.com [141.146.126.69] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org debugfs_create_file() returns NULL on error, it only returns error pointers if debugfs isn't enabled in the config and we checked for that earlier so it can't happen. Fixes: 4f4824b55650 ('drm/amd/amdgpu: Convert ring debugfs entries to binary') Signed-off-by: Dan Carpenter diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c index 85aeb0a..8d16eaf 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c @@ -371,8 +371,8 @@ static int amdgpu_debugfs_ring_init(struct amdgpu_device *adev, ent = debugfs_create_file(name, S_IFREG | S_IRUGO, root, ring, &amdgpu_debugfs_ring_fops); - if (IS_ERR(ent)) - return PTR_ERR(ent); + if (!ent) + return -ENOMEM; i_size_write(ent->d_inode, ring->ring_size + 12); ring->ent = ent;