[PATCH] drm/amdgpu: fix a NULL check in debugfs init

Dan Carpenter dan.carpenter at oracle.com
Wed Sep 26 10:41:33 UTC 2018


The debugfs_create_file() returns error pointers if DEBUGFS isn't
enabled.  But here, we know that it is enabled so it returns NULL on
error which could lead to a NULL dereference a few lines later.

Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
---
If someone wanted to delete the error handling as well that would also
be fine, but I decided not to bother with that.

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
index f5fb93795a69..0d806dfd5eeb 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c
@@ -832,12 +832,12 @@ int amdgpu_debugfs_regs_init(struct amdgpu_device *adev)
 		ent = debugfs_create_file(debugfs_regs_names[i],
 					  S_IFREG | S_IRUGO, root,
 					  adev, debugfs_regs[i]);
-		if (IS_ERR(ent)) {
+		if (!ent) {
 			for (j = 0; j < i; j++) {
 				debugfs_remove(adev->debugfs_regs[i]);
 				adev->debugfs_regs[i] = NULL;
 			}
-			return PTR_ERR(ent);
+			return -ENOMEM;
 		}
 
 		if (!i)


More information about the dri-devel mailing list