git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
drivers
/
char
/
drm
/
drm_bufs.h
diff --git
a/drivers/char/drm/drm_bufs.h
b/drivers/char/drm/drm_bufs.h
index
a0361c0
..
6fa8623
100644
(file)
--- a/
drivers/char/drm/drm_bufs.h
+++ b/
drivers/char/drm/drm_bufs.h
@@
-70,9
+70,10
@@
int DRM(order)( unsigned long size )
int order;
unsigned long tmp;
int order;
unsigned long tmp;
- for ( order = 0, tmp = size ; tmp >>= 1 ; ++order );
+ for (order = 0, tmp = size >> 1; tmp; tmp >>= 1, order++)
+ ;
- if (
size & ~(1 << order)
)
+ if (
size & (size - 1)
)
++order;
return order;
++order;
return order;
@@
-97,6
+98,7
@@
int DRM(addmap)( struct inode *inode, struct file *filp,
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_map_t *map;
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_map_t *map;
+ drm_map_t __user *argp = (void __user *)arg;
drm_map_list_t *list;
if ( !(filp->f_mode & 3) ) return -EACCES; /* Require read/write */
drm_map_list_t *list;
if ( !(filp->f_mode & 3) ) return -EACCES; /* Require read/write */
@@
-105,7
+107,7
@@
int DRM(addmap)( struct inode *inode, struct file *filp,
if ( !map )
return -ENOMEM;
if ( !map )
return -ENOMEM;
- if ( copy_from_user( map,
(drm_map_t *)arg
, sizeof(*map) ) ) {
+ if ( copy_from_user( map,
argp
, sizeof(*map) ) ) {
DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
return -EFAULT;
}
DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
return -EFAULT;
}
@@
-125,7
+127,7
@@
int DRM(addmap)( struct inode *inode, struct file *filp,
return -EINVAL;
}
map->mtrr = -1;
return -EINVAL;
}
map->mtrr = -1;
- map->handle =
0
;
+ map->handle =
NULL
;
switch ( map->type ) {
case _DRM_REGISTERS:
switch ( map->type ) {
case _DRM_REGISTERS:
@@
-206,10
+208,10
@@
int DRM(addmap)( struct inode *inode, struct file *filp,
list_add(&list->head, &dev->maplist->head);
up(&dev->struct_sem);
list_add(&list->head, &dev->maplist->head);
up(&dev->struct_sem);
- if ( copy_to_user(
(drm_map_t *)arg
, map, sizeof(*map) ) )
+ if ( copy_to_user(
argp
, map, sizeof(*map) ) )
return -EFAULT;
if ( map->type != _DRM_SHM ) {
return -EFAULT;
if ( map->type != _DRM_SHM ) {
- if ( copy_to_user( &
((drm_map_t *)arg)
->handle,
+ if ( copy_to_user( &
argp
->handle,
&map->offset,
sizeof(map->offset) ) )
return -EFAULT;
&map->offset,
sizeof(map->offset) ) )
return -EFAULT;
@@
-246,7
+248,7
@@
int DRM(rmmap)(struct inode *inode, struct file *filp,
drm_map_t request;
int found_maps = 0;
drm_map_t request;
int found_maps = 0;
- if (copy_from_user(&request, (drm_map_t *)arg,
+ if (copy_from_user(&request, (drm_map_t
__user
*)arg,
sizeof(request))) {
return -EFAULT;
}
sizeof(request))) {
return -EFAULT;
}
@@
-388,10
+390,11
@@
int DRM(addbufs_agp)( struct inode *inode, struct file *filp,
int byte_count;
int i;
drm_buf_t **temp_buflist;
int byte_count;
int i;
drm_buf_t **temp_buflist;
+ drm_buf_desc_t __user *argp = (void __user *)arg;
if ( !dma ) return -EINVAL;
if ( !dma ) return -EINVAL;
- if ( copy_from_user( &request,
(drm_buf_desc_t *)arg
,
+ if ( copy_from_user( &request,
argp
,
sizeof(request) ) )
return -EFAULT;
sizeof(request) ) )
return -EFAULT;
@@
-468,7
+471,7
@@
int DRM(addbufs_agp)( struct inode *inode, struct file *filp,
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
- buf->filp =
0
;
+ buf->filp =
NULL
;
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
@@
-528,7
+531,7
@@
int DRM(addbufs_agp)( struct inode *inode, struct file *filp,
request.count = entry->buf_count;
request.size = size;
request.count = entry->buf_count;
request.size = size;
- if ( copy_to_user(
(drm_buf_desc_t *)arg
, &request, sizeof(request) ) )
+ if ( copy_to_user(
argp
, &request, sizeof(request) ) )
return -EFAULT;
dma->flags = _DRM_DMA_USE_AGP;
return -EFAULT;
dma->flags = _DRM_DMA_USE_AGP;
@@
-561,11
+564,11
@@
int DRM(addbufs_pci)( struct inode *inode, struct file *filp,
int page_count;
unsigned long *temp_pagelist;
drm_buf_t **temp_buflist;
int page_count;
unsigned long *temp_pagelist;
drm_buf_t **temp_buflist;
+ drm_buf_desc_t __user *argp = (void __user *)arg;
if ( !dma ) return -EINVAL;
if ( !dma ) return -EINVAL;
- if ( copy_from_user( &request, (drm_buf_desc_t *)arg,
- sizeof(request) ) )
+ if ( copy_from_user( &request, argp, sizeof(request) ) )
return -EFAULT;
count = request.count;
return -EFAULT;
count = request.count;
@@
-692,7
+695,7
@@
int DRM(addbufs_pci)( struct inode *inode, struct file *filp,
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
- buf->filp =
0
;
+ buf->filp =
NULL
;
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
@@
-766,7
+769,7
@@
int DRM(addbufs_pci)( struct inode *inode, struct file *filp,
request.count = entry->buf_count;
request.size = size;
request.count = entry->buf_count;
request.size = size;
- if ( copy_to_user(
(drm_buf_desc_t *)arg
, &request, sizeof(request) ) )
+ if ( copy_to_user(
argp
, &request, sizeof(request) ) )
return -EFAULT;
atomic_dec( &dev->buf_alloc );
return -EFAULT;
atomic_dec( &dev->buf_alloc );
@@
-782,6
+785,7
@@
int DRM(addbufs_sg)( struct inode *inode, struct file *filp,
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
+ drm_buf_desc_t __user *argp = (void __user *)arg;
drm_buf_desc_t request;
drm_buf_entry_t *entry;
drm_buf_t *buf;
drm_buf_desc_t request;
drm_buf_entry_t *entry;
drm_buf_t *buf;
@@
-799,8
+803,7
@@
int DRM(addbufs_sg)( struct inode *inode, struct file *filp,
if ( !dma ) return -EINVAL;
if ( !dma ) return -EINVAL;
- if ( copy_from_user( &request, (drm_buf_desc_t *)arg,
- sizeof(request) ) )
+ if ( copy_from_user( &request, argp, sizeof(request) ) )
return -EFAULT;
count = request.count;
return -EFAULT;
count = request.count;
@@
-876,7
+879,7
@@
int DRM(addbufs_sg)( struct inode *inode, struct file *filp,
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
buf->waiting = 0;
buf->pending = 0;
init_waitqueue_head( &buf->dma_wait );
- buf->filp =
0
;
+ buf->filp =
NULL
;
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T);
buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T),
@@
-937,7
+940,7
@@
int DRM(addbufs_sg)( struct inode *inode, struct file *filp,
request.count = entry->buf_count;
request.size = size;
request.count = entry->buf_count;
request.size = size;
- if ( copy_to_user(
(drm_buf_desc_t *)arg
, &request, sizeof(request) ) )
+ if ( copy_to_user(
argp
, &request, sizeof(request) ) )
return -EFAULT;
dma->flags = _DRM_DMA_USE_SG;
return -EFAULT;
dma->flags = _DRM_DMA_USE_SG;
@@
-966,7
+969,7
@@
int DRM(addbufs)( struct inode *inode, struct file *filp,
{
drm_buf_desc_t request;
{
drm_buf_desc_t request;
- if ( copy_from_user( &request, (drm_buf_desc_t *)arg,
+ if ( copy_from_user( &request, (drm_buf_desc_t
__user
*)arg,
sizeof(request) ) )
return -EFAULT;
sizeof(request) ) )
return -EFAULT;
@@
-1012,6
+1015,7
@@
int DRM(infobufs)( struct inode *inode, struct file *filp,
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
drm_buf_info_t request;
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
drm_buf_info_t request;
+ drm_buf_info_t __user *argp = (void __user *)arg;
int i;
int count;
int i;
int count;
@@
-1025,9
+1029,7
@@
int DRM(infobufs)( struct inode *inode, struct file *filp,
++dev->buf_use; /* Can't allocate more after this call */
spin_unlock( &dev->count_lock );
++dev->buf_use; /* Can't allocate more after this call */
spin_unlock( &dev->count_lock );
- if ( copy_from_user( &request,
- (drm_buf_info_t *)arg,
- sizeof(request) ) )
+ if ( copy_from_user( &request, argp, sizeof(request) ) )
return -EFAULT;
for ( i = 0, count = 0 ; i < DRM_MAX_ORDER + 1 ; i++ ) {
return -EFAULT;
for ( i = 0, count = 0 ; i < DRM_MAX_ORDER + 1 ; i++ ) {
@@
-1039,7
+1041,7
@@
int DRM(infobufs)( struct inode *inode, struct file *filp,
if ( request.count >= count ) {
for ( i = 0, count = 0 ; i < DRM_MAX_ORDER + 1 ; i++ ) {
if ( dma->bufs[i].buf_count ) {
if ( request.count >= count ) {
for ( i = 0, count = 0 ; i < DRM_MAX_ORDER + 1 ; i++ ) {
if ( dma->bufs[i].buf_count ) {
- drm_buf_desc_t *to = &request.list[count];
+ drm_buf_desc_t
__user
*to = &request.list[count];
drm_buf_entry_t *from = &dma->bufs[i];
drm_freelist_t *list = &dma->bufs[i].freelist;
if ( copy_to_user( &to->count,
drm_buf_entry_t *from = &dma->bufs[i];
drm_freelist_t *list = &dma->bufs[i].freelist;
if ( copy_to_user( &to->count,
@@
-1068,9
+1070,7
@@
int DRM(infobufs)( struct inode *inode, struct file *filp,
}
request.count = count;
}
request.count = count;
- if ( copy_to_user( (drm_buf_info_t *)arg,
- &request,
- sizeof(request) ) )
+ if ( copy_to_user( argp, &request, sizeof(request) ) )
return -EFAULT;
return 0;
return -EFAULT;
return 0;
@@
-1103,7
+1103,7
@@
int DRM(markbufs)( struct inode *inode, struct file *filp,
if ( !dma ) return -EINVAL;
if ( copy_from_user( &request,
if ( !dma ) return -EINVAL;
if ( copy_from_user( &request,
- (drm_buf_desc_t *)arg,
+ (drm_buf_desc_t
__user
*)arg,
sizeof(request) ) )
return -EFAULT;
sizeof(request) ) )
return -EFAULT;
@@
-1150,7
+1150,7
@@
int DRM(freebufs)( struct inode *inode, struct file *filp,
if ( !dma ) return -EINVAL;
if ( copy_from_user( &request,
if ( !dma ) return -EINVAL;
if ( copy_from_user( &request,
- (drm_buf_free_t *)arg,
+ (drm_buf_free_t
__user
*)arg,
sizeof(request) ) )
return -EFAULT;
sizeof(request) ) )
return -EFAULT;
@@
-1196,6
+1196,7
@@
int DRM(mapbufs)( struct inode *inode, struct file *filp,
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
drm_file_t *priv = filp->private_data;
drm_device_t *dev = priv->dev;
drm_device_dma_t *dma = dev->dma;
+ drm_buf_map_t __user *argp = (void __user *)arg;
int retcode = 0;
const int zero = 0;
unsigned long virtual;
int retcode = 0;
const int zero = 0;
unsigned long virtual;
@@
-1213,8
+1214,7
@@
int DRM(mapbufs)( struct inode *inode, struct file *filp,
dev->buf_use++; /* Can't allocate more after this call */
spin_unlock( &dev->count_lock );
dev->buf_use++; /* Can't allocate more after this call */
spin_unlock( &dev->count_lock );
- if ( copy_from_user( &request, (drm_buf_map_t *)arg,
- sizeof(request) ) )
+ if ( copy_from_user( &request, argp, sizeof(request) ) )
return -EFAULT;
if ( request.count >= dma->buf_count ) {
return -EFAULT;
if ( request.count >= dma->buf_count ) {
@@
-1261,7
+1261,7
@@
int DRM(mapbufs)( struct inode *inode, struct file *filp,
retcode = (signed long)virtual;
goto done;
}
retcode = (signed long)virtual;
goto done;
}
- request.virtual = (void *)virtual;
+ request.virtual = (void
__user
*)virtual;
for ( i = 0 ; i < dma->buf_count ; i++ ) {
if ( copy_to_user( &request.list[i].idx,
for ( i = 0 ; i < dma->buf_count ; i++ ) {
if ( copy_to_user( &request.list[i].idx,
@@
-1295,7
+1295,7
@@
int DRM(mapbufs)( struct inode *inode, struct file *filp,
request.count = dma->buf_count;
DRM_DEBUG( "%d buffers, retcode = %d\n", request.count, retcode );
request.count = dma->buf_count;
DRM_DEBUG( "%d buffers, retcode = %d\n", request.count, retcode );
- if ( copy_to_user(
(drm_buf_map_t *)arg
, &request, sizeof(request) ) )
+ if ( copy_to_user(
argp
, &request, sizeof(request) ) )
return -EFAULT;
return retcode;
return -EFAULT;
return retcode;