Re: [PATCH] drm/amdgpu: Modify error handling in amdgpu_ttm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 04.08.2016 um 17:42 schrieb Amitoj Kaur Chawla:
To indicate an error, debugfs_create_file can return an ERR_PTR for
!CONFIG_DEBUG_FS and NULL otherwise, so in case the result is
dereferenced there should be a previous IS_ERR and a NULL check.

The Coccinelle semantic patch used to find the issue is as follows:
@@
expression e;
identifier f;
@@

*  e = debugfs_create_file(...);
... when != e == NULL
e->f

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>

The whole section is surrounded by CONFIG_DEBUG_FS, so I suggest to just replace the check or IS_ERR with a NULL check.

Regards,
Christian.

---
  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 8a1752f..9ff70a7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1198,6 +1198,8 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
  				  adev, &amdgpu_ttm_vram_fops);
  	if (IS_ERR(ent))
  		return PTR_ERR(ent);
+	if (!ent)
+		return -ENOMEM;
  	i_size_write(ent->d_inode, adev->mc.mc_vram_size);
  	adev->mman.vram = ent;
@@ -1205,6 +1207,8 @@ static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev)
  				  adev, &amdgpu_ttm_gtt_fops);
  	if (IS_ERR(ent))
  		return PTR_ERR(ent);
+	if (!ent)
+		return -ENOMEM;
  	i_size_write(ent->d_inode, adev->mc.gtt_size);
  	adev->mman.gtt = ent;


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux