diff options
-rw-r--r-- | drivers/gpu/drm/drm_ioc32.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/gpu/drm/drm_ioc32.c b/drivers/gpu/drm/drm_ioc32.c index bad1900c71dd..57b0ae39169b 100644 --- a/drivers/gpu/drm/drm_ioc32.c +++ b/drivers/gpu/drm/drm_ioc32.c | |||
@@ -228,19 +228,13 @@ static int compat_drm_rmmap(struct file *file, unsigned int cmd, | |||
228 | unsigned long arg) | 228 | unsigned long arg) |
229 | { | 229 | { |
230 | drm_map32_t __user *argp = (void __user *)arg; | 230 | drm_map32_t __user *argp = (void __user *)arg; |
231 | struct drm_map __user *map; | 231 | struct drm_map map; |
232 | u32 handle; | 232 | u32 handle; |
233 | 233 | ||
234 | if (get_user(handle, &argp->handle)) | 234 | if (get_user(handle, &argp->handle)) |
235 | return -EFAULT; | 235 | return -EFAULT; |
236 | 236 | map.handle = compat_ptr(handle); | |
237 | map = compat_alloc_user_space(sizeof(*map)); | 237 | return drm_ioctl_kernel(file, drm_legacy_rmmap_ioctl, &map, DRM_AUTH); |
238 | if (!map) | ||
239 | return -EFAULT; | ||
240 | if (__put_user((void *)(unsigned long)handle, &map->handle)) | ||
241 | return -EFAULT; | ||
242 | |||
243 | return drm_ioctl(file, DRM_IOCTL_RM_MAP, (unsigned long)map); | ||
244 | } | 238 | } |
245 | 239 | ||
246 | typedef struct drm_client32 { | 240 | typedef struct drm_client32 { |
@@ -918,7 +912,7 @@ static struct { | |||
918 | DRM_IOCTL32_DEF(DRM_IOCTL_INFO_BUFS, compat_drm_infobufs), | 912 | DRM_IOCTL32_DEF(DRM_IOCTL_INFO_BUFS, compat_drm_infobufs), |
919 | [DRM_IOCTL_NR(DRM_IOCTL_MAP_BUFS32)].fn = compat_drm_mapbufs, | 913 | [DRM_IOCTL_NR(DRM_IOCTL_MAP_BUFS32)].fn = compat_drm_mapbufs, |
920 | DRM_IOCTL32_DEF(DRM_IOCTL_FREE_BUFS, compat_drm_freebufs), | 914 | DRM_IOCTL32_DEF(DRM_IOCTL_FREE_BUFS, compat_drm_freebufs), |
921 | [DRM_IOCTL_NR(DRM_IOCTL_RM_MAP32)].fn = compat_drm_rmmap, | 915 | DRM_IOCTL32_DEF(DRM_IOCTL_RM_MAP, compat_drm_rmmap), |
922 | DRM_IOCTL32_DEF(DRM_IOCTL_SET_SAREA_CTX, compat_drm_setsareactx), | 916 | DRM_IOCTL32_DEF(DRM_IOCTL_SET_SAREA_CTX, compat_drm_setsareactx), |
923 | DRM_IOCTL32_DEF(DRM_IOCTL_GET_SAREA_CTX, compat_drm_getsareactx), | 917 | DRM_IOCTL32_DEF(DRM_IOCTL_GET_SAREA_CTX, compat_drm_getsareactx), |
924 | DRM_IOCTL32_DEF(DRM_IOCTL_RES_CTX, compat_drm_resctx), | 918 | DRM_IOCTL32_DEF(DRM_IOCTL_RES_CTX, compat_drm_resctx), |