mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
drm/amdgpu/userq: Use memdup_array_user in amdgpu_userq_wait_ioctl
Use the existing helper instead of multiplying the size. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Reviewed-by: Sunil Khatri <sunil.khatri@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
e757981cd8
commit
fb1bf29acd
|
|
@ -679,23 +679,24 @@ int amdgpu_userq_wait_ioctl(struct drm_device *dev, void *data,
|
|||
}
|
||||
|
||||
num_syncobj = wait_info->num_syncobj_handles;
|
||||
syncobj_handles = memdup_user(u64_to_user_ptr(wait_info->syncobj_handles),
|
||||
size_mul(sizeof(u32), num_syncobj));
|
||||
syncobj_handles = memdup_array_user(u64_to_user_ptr(wait_info->syncobj_handles),
|
||||
num_syncobj, sizeof(u32));
|
||||
if (IS_ERR(syncobj_handles)) {
|
||||
r = PTR_ERR(syncobj_handles);
|
||||
goto free_bo_handles_write;
|
||||
}
|
||||
|
||||
num_points = wait_info->num_syncobj_timeline_handles;
|
||||
timeline_handles = memdup_user(u64_to_user_ptr(wait_info->syncobj_timeline_handles),
|
||||
sizeof(u32) * num_points);
|
||||
timeline_handles = memdup_array_user(u64_to_user_ptr(wait_info->syncobj_timeline_handles),
|
||||
num_points, sizeof(u32));
|
||||
if (IS_ERR(timeline_handles)) {
|
||||
r = PTR_ERR(timeline_handles);
|
||||
goto free_syncobj_handles;
|
||||
}
|
||||
|
||||
timeline_points = memdup_user(u64_to_user_ptr(wait_info->syncobj_timeline_points),
|
||||
sizeof(u32) * num_points);
|
||||
timeline_points = memdup_array_user(u64_to_user_ptr(wait_info->syncobj_timeline_points),
|
||||
num_points, sizeof(u32));
|
||||
|
||||
if (IS_ERR(timeline_points)) {
|
||||
r = PTR_ERR(timeline_points);
|
||||
goto free_timeline_handles;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user