From a776c5ec0464e264bba3f3a4794a067d3c667097 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 20 Jul 2004 12:43:12 +0000 Subject: first set of __user annotations from kernel (Al Viro) --- linux-core/drm_context.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'linux-core/drm_context.c') diff --git a/linux-core/drm_context.c b/linux-core/drm_context.c index 474b5ba0..8795198a 100644 --- a/linux-core/drm_context.c +++ b/linux-core/drm_context.c @@ -215,12 +215,11 @@ int DRM(getsareactx)(struct inode *inode, struct file *filp, { drm_file_t *priv = filp->private_data; drm_device_t *dev = priv->dev; + drm_ctx_priv_map_t __user *argp = (void __user *)arg; drm_ctx_priv_map_t request; drm_map_t *map; - if (copy_from_user(&request, - (drm_ctx_priv_map_t *)arg, - sizeof(request))) + if (copy_from_user(&request, argp, sizeof(request))) return -EFAULT; down(&dev->struct_sem); @@ -233,7 +232,7 @@ int DRM(getsareactx)(struct inode *inode, struct file *filp, up(&dev->struct_sem); request.handle = map->handle; - if (copy_to_user((drm_ctx_priv_map_t *)arg, &request, sizeof(request))) + if (copy_to_user(argp, &request, sizeof(request))) return -EFAULT; return 0; } @@ -261,7 +260,7 @@ int DRM(setsareactx)(struct inode *inode, struct file *filp, struct list_head *list; if (copy_from_user(&request, - (drm_ctx_priv_map_t *)arg, + (drm_ctx_priv_map_t __user *)arg, sizeof(request))) return -EFAULT; @@ -364,10 +363,11 @@ int DRM(resctx)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ) { drm_ctx_res_t res; + drm_ctx_t __user *argp = (void __user *)arg; drm_ctx_t ctx; int i; - if ( copy_from_user( &res, (drm_ctx_res_t *)arg, sizeof(res) ) ) + if ( copy_from_user( &res, argp, sizeof(res) ) ) return -EFAULT; if ( res.count >= DRM_RESERVED_CONTEXTS ) { @@ -381,7 +381,7 @@ int DRM(resctx)( struct inode *inode, struct file *filp, } res.count = DRM_RESERVED_CONTEXTS; - if ( copy_to_user( (drm_ctx_res_t *)arg, &res, sizeof(res) ) ) + if ( copy_to_user( argp, &res, sizeof(res) ) ) return -EFAULT; return 0; } @@ -403,9 +403,10 @@ int DRM(addctx)( struct inode *inode, struct file *filp, drm_file_t *priv = filp->private_data; drm_device_t *dev = priv->dev; drm_ctx_list_t * ctx_entry; + drm_ctx_t __user *argp = (void __user *)arg; drm_ctx_t ctx; - if ( copy_from_user( &ctx, (drm_ctx_t *)arg, sizeof(ctx) ) ) + if ( copy_from_user( &ctx, argp, sizeof(ctx) ) ) return -EFAULT; ctx.handle = DRM(ctxbitmap_next)( dev ); @@ -438,7 +439,7 @@ int DRM(addctx)( struct inode *inode, struct file *filp, ++dev->ctx_count; up( &dev->ctxlist_sem ); - if ( copy_to_user( (drm_ctx_t *)arg, &ctx, sizeof(ctx) ) ) + if ( copy_to_user( argp, &ctx, sizeof(ctx) ) ) return -EFAULT; return 0; } @@ -462,15 +463,16 @@ int DRM(modctx)( struct inode *inode, struct file *filp, int DRM(getctx)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ) { + drm_ctx_t __user *argp = (void __user *)arg; drm_ctx_t ctx; - if ( copy_from_user( &ctx, (drm_ctx_t*)arg, sizeof(ctx) ) ) + if ( copy_from_user( &ctx, argp, sizeof(ctx) ) ) return -EFAULT; /* This is 0, because we don't handle any context flags */ ctx.flags = 0; - if ( copy_to_user( (drm_ctx_t*)arg, &ctx, sizeof(ctx) ) ) + if ( copy_to_user( argp, &ctx, sizeof(ctx) ) ) return -EFAULT; return 0; } @@ -493,7 +495,7 @@ int DRM(switchctx)( struct inode *inode, struct file *filp, drm_device_t *dev = priv->dev; drm_ctx_t ctx; - if ( copy_from_user( &ctx, (drm_ctx_t *)arg, sizeof(ctx) ) ) + if ( copy_from_user( &ctx, (drm_ctx_t __user *)arg, sizeof(ctx) ) ) return -EFAULT; DRM_DEBUG( "%d\n", ctx.handle ); @@ -518,7 +520,7 @@ int DRM(newctx)( struct inode *inode, struct file *filp, drm_device_t *dev = priv->dev; drm_ctx_t ctx; - if ( copy_from_user( &ctx, (drm_ctx_t *)arg, sizeof(ctx) ) ) + if ( copy_from_user( &ctx, (drm_ctx_t __user *)arg, sizeof(ctx) ) ) return -EFAULT; DRM_DEBUG( "%d\n", ctx.handle ); @@ -545,7 +547,7 @@ int DRM(rmctx)( struct inode *inode, struct file *filp, drm_device_t *dev = priv->dev; drm_ctx_t ctx; - if ( copy_from_user( &ctx, (drm_ctx_t *)arg, sizeof(ctx) ) ) + if ( copy_from_user( &ctx, (drm_ctx_t __user *)arg, sizeof(ctx) ) ) return -EFAULT; DRM_DEBUG( "%d\n", ctx.handle ); -- cgit v1.2.3