diff mbox

drm/amdgpu: potential NULL dereference in debugfs code

Message ID 20161012061730.GP12841@mwanda (mailing list archive)
State New, archived
Headers show

Commit Message

Dan Carpenter Oct. 12, 2016, 6:17 a.m. UTC
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 <dan.carpenter@oracle.com>

Comments

Christian König Oct. 12, 2016, 9:20 a.m. UTC | #1
Am 12.10.2016 um 08:17 schrieb Dan Carpenter:
> 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 <dan.carpenter@oracle.com>

Reviewed-by: Christian König <christian.koenig@amd.com>.

>
> 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;
Alex Deucher Oct. 12, 2016, 4:48 p.m. UTC | #2
On Wed, Oct 12, 2016 at 5:20 AM, Christian König
<christian.koenig@amd.com> wrote:
> Am 12.10.2016 um 08:17 schrieb Dan Carpenter:
>>
>> 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 <dan.carpenter@oracle.com>
>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>.
>

Applied.  thanks!

Alex

>
>>
>> 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;
>
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

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;