The case where 'num_entries' is too big, is already handled by
struct_size(), because kvmalloc() would fail.

It will return -ENOMEM instead of -EINVAL, but it is only related to a
unlikely to happen sanity check.

Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index 571fed04eb7a..c8f59a044286 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -78,10 +78,6 @@ int amdgpu_bo_list_create(struct amdgpu_device *adev, struct 
drm_file *filp,
        unsigned i;
        int r;
 
-       if (num_entries > (SIZE_MAX - sizeof(struct amdgpu_bo_list))
-                               / sizeof(struct amdgpu_bo_list_entry))
-               return -EINVAL;
-
        list = kvmalloc(struct_size(list, entries, num_entries), GFP_KERNEL);
        if (!list)
                return -ENOMEM;
-- 
2.34.1

Reply via email to