[PATCH][2/10] verify_area cleanup : drivers part 2

2005-03-03 Thread Jesper Juhl

This patch converts the second half of drivers from verify_area to
access_ok.

Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]>

diff -urp linux-2.6.11-orig/drivers/mtd/mtdchar.c 
linux-2.6.11/drivers/mtd/mtdchar.c
--- linux-2.6.11-orig/drivers/mtd/mtdchar.c 2005-03-02 08:38:13.0 
+0100
+++ linux-2.6.11/drivers/mtd/mtdchar.c  2005-03-03 22:51:20.0 +0100
@@ -285,12 +285,12 @@ static int mtd_ioctl(struct inode *inode
 
size = (cmd & IOCSIZE_MASK) >> IOCSIZE_SHIFT;
if (cmd & IOC_IN) {
-   ret = verify_area(VERIFY_READ, argp, size);
-   if (ret) return ret;
+   if (!access_ok(VERIFY_READ, argp, size))
+   return -EFAULT;
}
if (cmd & IOC_OUT) {
-   ret = verify_area(VERIFY_WRITE, argp, size);
-   if (ret) return ret;
+   if (!access_ok(VERIFY_WRITE, argp, size))
+   return -EFAULT;
}

switch (cmd) {
@@ -389,7 +389,8 @@ static int mtd_ioctl(struct inode *inode
if (!mtd->write_oob)
ret = -EOPNOTSUPP;
else
-   ret = verify_area(VERIFY_READ, buf.ptr, buf.length);
+   ret = access_ok(VERIFY_READ, buf.ptr, 
+   buf.length) ? 0 : EFAULT;
 
if (ret)
return ret;
@@ -428,7 +429,8 @@ static int mtd_ioctl(struct inode *inode
if (!mtd->read_oob)
ret = -EOPNOTSUPP;
else
-   ret = verify_area(VERIFY_WRITE, buf.ptr, buf.length);
+   ret = access_ok(VERIFY_WRITE, buf.ptr, 
+   buf.length) ? 0 : -EFAULT;
 
if (ret)
return ret;
diff -urp linux-2.6.11-orig/drivers/net/wireless/orinoco.c 
linux-2.6.11/drivers/net/wireless/orinoco.c
--- linux-2.6.11-orig/drivers/net/wireless/orinoco.c2005-03-02 
08:38:33.0 +0100
+++ linux-2.6.11/drivers/net/wireless/orinoco.c 2005-03-03 22:51:20.0 
+0100
@@ -2553,9 +2553,8 @@ static int orinoco_ioctl_getiwrange(stru
 
TRACE_ENTER(dev->name);
 
-   err = verify_area(VERIFY_WRITE, rrq->pointer, sizeof(range));
-   if (err)
-   return err;
+   if (!access_ok(VERIFY_WRITE, rrq->pointer, sizeof(range)))
+   return -EFAULT;
 
rrq->length = sizeof(range);
 
diff -urp linux-2.6.11-orig/drivers/pcmcia/ds.c linux-2.6.11/drivers/pcmcia/ds.c
--- linux-2.6.11-orig/drivers/pcmcia/ds.c   2005-03-02 08:38:17.0 
+0100
+++ linux-2.6.11/drivers/pcmcia/ds.c2005-03-03 22:51:28.0 +0100
@@ -1099,17 +1099,15 @@ static int ds_ioctl(struct inode * inode
return -EPERM;

 if (cmd & IOC_IN) {
-   err = verify_area(VERIFY_READ, uarg, size);
-   if (err) {
-   ds_dbg(3, "ds_ioctl(): verify_read = %d\n", err);
-   return err;
+   if (!access_ok(VERIFY_READ, uarg, size)) {
+   ds_dbg(3, "ds_ioctl(): verify_read = %d\n", -EFAULT);
+   return -EFAULT;
}
 }
 if (cmd & IOC_OUT) {
-   err = verify_area(VERIFY_WRITE, uarg, size);
-   if (err) {
-   ds_dbg(3, "ds_ioctl(): verify_write = %d\n", err);
-   return err;
+   if (!access_ok(VERIFY_WRITE, uarg, size)) {
+   ds_dbg(3, "ds_ioctl(): verify_write = %d\n", -EFAULT);
+   return -EFAULT;
}
 }
 buf = kmalloc(sizeof(ds_ioctl_arg_t), GFP_KERNEL);
diff -urp linux-2.6.11-orig/drivers/s390/net/ctctty.c 
linux-2.6.11/drivers/s390/net/ctctty.c
--- linux-2.6.11-orig/drivers/s390/net/ctctty.c 2005-03-02 08:38:10.0 
+0100
+++ linux-2.6.11/drivers/s390/net/ctctty.c  2005-03-03 22:51:22.0 
+0100
@@ -778,11 +778,10 @@ ctc_tty_ioctl(struct tty_struct *tty, st
printk(KERN_DEBUG "%s%d ioctl TIOCSERGETLSR\n", 
CTC_TTY_NAME,
   info->line);
 #endif
-   error = verify_area(VERIFY_WRITE, (void __user *) arg, 
sizeof(uint));
-   if (error)
-   return error;
-   else
+   if (access_ok(VERIFY_WRITE, (void __user *) arg, 
sizeof(uint)))
return ctc_tty_get_lsr_info(info, (uint __user 
*) arg);
+   else
+   return -EFAULT;
default:
 #ifdef CTC_DEBUG_MODEM_IOCTL
printk(KERN_DEBUG "UNKNOWN ioctl 0x%08x on %s%d\n", cmd,
diff -urp linux-2.6.11-orig/drivers/sbus/char/aurora.c 
linux-2.6.11/drivers/sbus/char/aurora.c
--- linux-2.6.11-orig/drivers/sbus/char/aurora.c2005-03-02 
08:37:49.0 +0100
+++ linux-2.6.11/drivers/sbus/char/aurora.c 2005-03-03 22:51:22.0 
+0100
@@ -1887,14 +1887,12 @@ extern int aurora_get_serial_info(struct
 {

[PATCH][2/10] verify_area cleanup : drivers part 2

2005-03-03 Thread Jesper Juhl

This patch converts the second half of drivers from verify_area to
access_ok.

Signed-off-by: Jesper Juhl [EMAIL PROTECTED]

diff -urp linux-2.6.11-orig/drivers/mtd/mtdchar.c 
linux-2.6.11/drivers/mtd/mtdchar.c
--- linux-2.6.11-orig/drivers/mtd/mtdchar.c 2005-03-02 08:38:13.0 
+0100
+++ linux-2.6.11/drivers/mtd/mtdchar.c  2005-03-03 22:51:20.0 +0100
@@ -285,12 +285,12 @@ static int mtd_ioctl(struct inode *inode
 
size = (cmd  IOCSIZE_MASK)  IOCSIZE_SHIFT;
if (cmd  IOC_IN) {
-   ret = verify_area(VERIFY_READ, argp, size);
-   if (ret) return ret;
+   if (!access_ok(VERIFY_READ, argp, size))
+   return -EFAULT;
}
if (cmd  IOC_OUT) {
-   ret = verify_area(VERIFY_WRITE, argp, size);
-   if (ret) return ret;
+   if (!access_ok(VERIFY_WRITE, argp, size))
+   return -EFAULT;
}

switch (cmd) {
@@ -389,7 +389,8 @@ static int mtd_ioctl(struct inode *inode
if (!mtd-write_oob)
ret = -EOPNOTSUPP;
else
-   ret = verify_area(VERIFY_READ, buf.ptr, buf.length);
+   ret = access_ok(VERIFY_READ, buf.ptr, 
+   buf.length) ? 0 : EFAULT;
 
if (ret)
return ret;
@@ -428,7 +429,8 @@ static int mtd_ioctl(struct inode *inode
if (!mtd-read_oob)
ret = -EOPNOTSUPP;
else
-   ret = verify_area(VERIFY_WRITE, buf.ptr, buf.length);
+   ret = access_ok(VERIFY_WRITE, buf.ptr, 
+   buf.length) ? 0 : -EFAULT;
 
if (ret)
return ret;
diff -urp linux-2.6.11-orig/drivers/net/wireless/orinoco.c 
linux-2.6.11/drivers/net/wireless/orinoco.c
--- linux-2.6.11-orig/drivers/net/wireless/orinoco.c2005-03-02 
08:38:33.0 +0100
+++ linux-2.6.11/drivers/net/wireless/orinoco.c 2005-03-03 22:51:20.0 
+0100
@@ -2553,9 +2553,8 @@ static int orinoco_ioctl_getiwrange(stru
 
TRACE_ENTER(dev-name);
 
-   err = verify_area(VERIFY_WRITE, rrq-pointer, sizeof(range));
-   if (err)
-   return err;
+   if (!access_ok(VERIFY_WRITE, rrq-pointer, sizeof(range)))
+   return -EFAULT;
 
rrq-length = sizeof(range);
 
diff -urp linux-2.6.11-orig/drivers/pcmcia/ds.c linux-2.6.11/drivers/pcmcia/ds.c
--- linux-2.6.11-orig/drivers/pcmcia/ds.c   2005-03-02 08:38:17.0 
+0100
+++ linux-2.6.11/drivers/pcmcia/ds.c2005-03-03 22:51:28.0 +0100
@@ -1099,17 +1099,15 @@ static int ds_ioctl(struct inode * inode
return -EPERM;

 if (cmd  IOC_IN) {
-   err = verify_area(VERIFY_READ, uarg, size);
-   if (err) {
-   ds_dbg(3, ds_ioctl(): verify_read = %d\n, err);
-   return err;
+   if (!access_ok(VERIFY_READ, uarg, size)) {
+   ds_dbg(3, ds_ioctl(): verify_read = %d\n, -EFAULT);
+   return -EFAULT;
}
 }
 if (cmd  IOC_OUT) {
-   err = verify_area(VERIFY_WRITE, uarg, size);
-   if (err) {
-   ds_dbg(3, ds_ioctl(): verify_write = %d\n, err);
-   return err;
+   if (!access_ok(VERIFY_WRITE, uarg, size)) {
+   ds_dbg(3, ds_ioctl(): verify_write = %d\n, -EFAULT);
+   return -EFAULT;
}
 }
 buf = kmalloc(sizeof(ds_ioctl_arg_t), GFP_KERNEL);
diff -urp linux-2.6.11-orig/drivers/s390/net/ctctty.c 
linux-2.6.11/drivers/s390/net/ctctty.c
--- linux-2.6.11-orig/drivers/s390/net/ctctty.c 2005-03-02 08:38:10.0 
+0100
+++ linux-2.6.11/drivers/s390/net/ctctty.c  2005-03-03 22:51:22.0 
+0100
@@ -778,11 +778,10 @@ ctc_tty_ioctl(struct tty_struct *tty, st
printk(KERN_DEBUG %s%d ioctl TIOCSERGETLSR\n, 
CTC_TTY_NAME,
   info-line);
 #endif
-   error = verify_area(VERIFY_WRITE, (void __user *) arg, 
sizeof(uint));
-   if (error)
-   return error;
-   else
+   if (access_ok(VERIFY_WRITE, (void __user *) arg, 
sizeof(uint)))
return ctc_tty_get_lsr_info(info, (uint __user 
*) arg);
+   else
+   return -EFAULT;
default:
 #ifdef CTC_DEBUG_MODEM_IOCTL
printk(KERN_DEBUG UNKNOWN ioctl 0x%08x on %s%d\n, cmd,
diff -urp linux-2.6.11-orig/drivers/sbus/char/aurora.c 
linux-2.6.11/drivers/sbus/char/aurora.c
--- linux-2.6.11-orig/drivers/sbus/char/aurora.c2005-03-02 
08:37:49.0 +0100
+++ linux-2.6.11/drivers/sbus/char/aurora.c 2005-03-03 22:51:22.0 
+0100
@@ -1887,14 +1887,12 @@ extern int aurora_get_serial_info(struct
 {
struct serial_struct tmp;