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

Reply via email to