i810 drm security fix
authorJeff Hartmann <jhartmann@valinux.com>
Mon, 16 Jul 2001 16:57:12 +0000 (16:57 +0000)
committerJeff Hartmann <jhartmann@valinux.com>
Mon, 16 Jul 2001 16:57:12 +0000 (16:57 +0000)
linux-core/i810_dma.c
linux/i810_dma.c

index 8abf80a..75be5d0 100644 (file)
@@ -1229,6 +1229,8 @@ int i810_copybuf(struct inode *inode, struct file *filp, unsigned int cmd,
        buf_priv = buf->dev_private;
        if (buf_priv->currently_mapped != I810_BUF_MAPPED) return -EPERM;
 
+       if(d.used < 0 || d.used > buf->total) return -EINVAL;
+
        if (copy_from_user(buf_priv->virtual, d.address, d.used))
                return -EFAULT;
 
index 8abf80a..75be5d0 100644 (file)
@@ -1229,6 +1229,8 @@ int i810_copybuf(struct inode *inode, struct file *filp, unsigned int cmd,
        buf_priv = buf->dev_private;
        if (buf_priv->currently_mapped != I810_BUF_MAPPED) return -EPERM;
 
+       if(d.used < 0 || d.used > buf->total) return -EINVAL;
+
        if (copy_from_user(buf_priv->virtual, d.address, d.used))
                return -EFAULT;