merge latest kernel drivers from trunk.

This commit is contained in:
Alan Hourihane 2001-07-23 07:57:04 +00:00
parent 5a2aa17b8b
commit b8678bc9cc
13 changed files with 57 additions and 17 deletions

View file

@ -429,6 +429,12 @@ int DRM(addbufs_agp)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
up( &dev->struct_sem );
atomic_dec( &dev->buf_alloc );
return -EINVAL;
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {
@ -581,6 +587,12 @@ int DRM(addbufs_pci)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
DRM_OS_UNLOCK;
atomic_dec( &dev->buf_alloc );
DRM_OS_RETURN(EINVAL);
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {
@ -687,6 +699,7 @@ int DRM(addbufs_pci)( DRM_OS_IOCTL )
atomic_dec( &dev->buf_alloc );
return 0;
}
#endif /* __HAVE_PCI_DMA */
@ -759,6 +772,12 @@ int DRM(addbufs_sg)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
up( &dev->struct_sem );
atomic_dec( &dev->buf_alloc );
return -EINVAL;
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {

View file

@ -118,7 +118,7 @@ int DRM(setunique)( DRM_OS_IOCTL )
DRM_OS_KRNFROMUSR( u, (drm_unique_t *)data, sizeof(u) );
if (!u.unique_len)
if (!u.unique_len || u.unique_len > 1024)
DRM_OS_RETURN(EINVAL);
dev->unique_len = u.unique_len;

View file

@ -1225,6 +1225,7 @@ int i810_copybuf( DRM_OS_IOCTL )
buf = dma->buflist[ d.idx ];
buf_priv = buf->dev_private;
if (buf_priv->currently_mapped != I810_BUF_MAPPED) return -EPERM;
if(d.used < 0 || d.used > buf->total) DRM_OS_RETURN(EINVAL);
if (DRM_OS_COPYFROMUSR(buf_priv->virtual, d.address, d.used))
DRM_OS_RETURN( EFAULT );

View file

@ -51,9 +51,9 @@
#define DRIVER_DESC "Intel i810"
#define DRIVER_DATE "20010616"
#define DRIVER_MAJOR 1
#define DRIVER_MINOR 1
#define DRIVER_PATCHLEVEL 1
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
#ifdef __FreeBSD__
static int i810_probe(device_t dev)

View file

@ -53,9 +53,9 @@
#define DRIVER_DESC "ATI Rage 128"
#define DRIVER_DATE "20010405"
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 1
#define DRIVER_PATCHLEVEL 6
#define DRIVER_MAJOR 3
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
#ifdef __FreeBSD__
static int r128_probe(device_t dev)

View file

@ -46,7 +46,7 @@
#endif
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor < 8) | patch)
((major << 16) | (minor << 8) | patch)
#ifndef CONFIG_XFREE86_VERSION
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)

View file

@ -429,6 +429,12 @@ int DRM(addbufs_agp)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
up( &dev->struct_sem );
atomic_dec( &dev->buf_alloc );
return -EINVAL;
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {
@ -581,6 +587,12 @@ int DRM(addbufs_pci)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
DRM_OS_UNLOCK;
atomic_dec( &dev->buf_alloc );
DRM_OS_RETURN(EINVAL);
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {
@ -687,6 +699,7 @@ int DRM(addbufs_pci)( DRM_OS_IOCTL )
atomic_dec( &dev->buf_alloc );
return 0;
}
#endif /* __HAVE_PCI_DMA */
@ -759,6 +772,12 @@ int DRM(addbufs_sg)( DRM_OS_IOCTL )
DRM_OS_RETURN(ENOMEM); /* May only call once for each order */
}
if (count < 0 || count > 4096) {
up( &dev->struct_sem );
atomic_dec( &dev->buf_alloc );
return -EINVAL;
}
entry->buflist = DRM(alloc)( count * sizeof(*entry->buflist),
DRM_MEM_BUFS );
if ( !entry->buflist ) {

View file

@ -118,7 +118,7 @@ int DRM(setunique)( DRM_OS_IOCTL )
DRM_OS_KRNFROMUSR( u, (drm_unique_t *)data, sizeof(u) );
if (!u.unique_len)
if (!u.unique_len || u.unique_len > 1024)
DRM_OS_RETURN(EINVAL);
dev->unique_len = u.unique_len;

View file

@ -1225,6 +1225,7 @@ int i810_copybuf( DRM_OS_IOCTL )
buf = dma->buflist[ d.idx ];
buf_priv = buf->dev_private;
if (buf_priv->currently_mapped != I810_BUF_MAPPED) return -EPERM;
if(d.used < 0 || d.used > buf->total) DRM_OS_RETURN(EINVAL);
if (DRM_OS_COPYFROMUSR(buf_priv->virtual, d.address, d.used))
DRM_OS_RETURN( EFAULT );

View file

@ -51,9 +51,9 @@
#define DRIVER_DESC "Intel i810"
#define DRIVER_DATE "20010616"
#define DRIVER_MAJOR 1
#define DRIVER_MINOR 1
#define DRIVER_PATCHLEVEL 1
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
#ifdef __FreeBSD__
static int i810_probe(device_t dev)

View file

@ -53,9 +53,9 @@
#define DRIVER_DESC "ATI Rage 128"
#define DRIVER_DATE "20010405"
#define DRIVER_MAJOR 2
#define DRIVER_MINOR 1
#define DRIVER_PATCHLEVEL 6
#define DRIVER_MAJOR 3
#define DRIVER_MINOR 0
#define DRIVER_PATCHLEVEL 0
#ifdef __FreeBSD__
static int r128_probe(device_t dev)

View file

@ -46,7 +46,7 @@
#endif
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor < 8) | patch)
((major << 16) | (minor << 8) | patch)
#ifndef CONFIG_XFREE86_VERSION
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)

View file

@ -46,7 +46,7 @@
#endif
#define XFREE86_VERSION(major,minor,patch,snap) \
((major << 16) | (minor < 8) | patch)
((major << 16) | (minor << 8) | patch)
#ifndef CONFIG_XFREE86_VERSION
#define CONFIG_XFREE86_VERSION XFREE86_VERSION(4,1,0,0)