diff options
author | Eric Anholt <eric@anholt.net> | 2015-01-16 15:54:49 +1300 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2015-06-04 14:15:30 -0700 |
commit | 2d8c710ff9482bfa0fba069b5681929d2cbe9ecd (patch) | |
tree | f92bd633cace811969d952027413b0dd7bc36d6b /drivers/gpu/drm/vc4/vc4_gem.c | |
parent | 6fb045e5d83019fe4f7ece6b0161adb2c9e61cb8 (diff) | |
download | linux-2d8c710ff9482bfa0fba069b5681929d2cbe9ecd.tar.gz |
drm/vc4: Follow danvet's alignment rules for ioctl struct ABI.
This is a flag day for the kernel ABI, but it's a requirement for
merging the code.
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_gem.c')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_gem.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index d0cef8627d1b..67edd30b9a72 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -301,7 +301,8 @@ vc4_cl_lookup_bos(struct drm_device *dev, goto fail; } - ret = copy_from_user(handles, args->bo_handles, + ret = copy_from_user(handles, + (void __user *)(uintptr_t)args->bo_handles, exec->bo_count * sizeof(uint32_t)); if (ret) { DRM_ERROR("Failed to copy in GEM handles\n"); @@ -374,26 +375,32 @@ vc4_cl_validate(struct drm_device *dev, struct vc4_exec_info *exec) exec->shader_state = temp + exec_size; exec->shader_state_size = args->shader_rec_count; - ret = copy_from_user(bin, args->bin_cl, args->bin_cl_size); + ret = copy_from_user(bin, + (void __user *)(uintptr_t)args->bin_cl, + args->bin_cl_size); if (ret) { DRM_ERROR("Failed to copy in bin cl\n"); goto fail; } - ret = copy_from_user(render, args->render_cl, args->render_cl_size); + ret = copy_from_user(render, + (void __user *)(uintptr_t)args->render_cl, + args->render_cl_size); if (ret) { DRM_ERROR("Failed to copy in render cl\n"); goto fail; } - ret = copy_from_user(exec->shader_rec_u, args->shader_rec, + ret = copy_from_user(exec->shader_rec_u, + (void __user *)(uintptr_t)args->shader_rec, args->shader_rec_size); if (ret) { DRM_ERROR("Failed to copy in shader recs\n"); goto fail; } - ret = copy_from_user(exec->uniforms_u, args->uniforms, + ret = copy_from_user(exec->uniforms_u, + (void __user *)(uintptr_t)args->uniforms, args->uniforms_size); if (ret) { DRM_ERROR("Failed to copy in uniforms cl\n"); |