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@xxxxxxxxxx> --- 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)