[PATCH] misc verify_area cleanups
authorJesper Juhl <juhl-lkml@dif.dk>
Sun, 1 May 2005 15:59:08 +0000 (08:59 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sun, 1 May 2005 15:59:08 +0000 (08:59 -0700)
There were still a few comments left refering to verify_area, and two
functions, verify_area_skas & verify_area_tt that just wrap corresponding
access_ok_skas & access_ok_tt functions, just like verify_area does for
access_ok - deprecate those.

There was also a few places that still used verify_area in commented-out
code, fix those up to use access_ok.

After applying this one there should not be anything left but finally
removing verify_area completely, which will happen after a kernel release
or two.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
16 files changed:
arch/i386/kernel/vm86.c
arch/um/kernel/skas/include/uaccess-skas.h
arch/um/kernel/tt/include/uaccess-tt.h
drivers/char/dtlk.c
drivers/char/specialix.c
include/asm-frv/pgtable.h
include/asm-i386/checksum.h
include/asm-i386/pgtable.h
include/asm-parisc/uaccess.h
include/asm-sh/checksum.h
include/asm-sh64/checksum.h
include/asm-sparc/uaccess.h
net/8021q/vlanproc.c
net/atm/common.c
net/core/iovec.c
net/wanrouter/wanmain.c

index d3b4c540eb6435b10a148b0a454207704606be2c..ec0f68ce68860c5b7e15e6158a79afbd5e93c3a5 100644 (file)
@@ -222,7 +222,7 @@ asmlinkage int sys_vm86(struct pt_regs regs)
                        goto out;
                case VM86_PLUS_INSTALL_CHECK:
                        /* NOTE: on old vm86 stuff this will return the error
-                          from verify_area(), because the subfunction is
+                          from access_ok(), because the subfunction is
                           interpreted as (invalid) address to vm86_struct.
                           So the installation check works.
                         */
index 11986c9b9ddfd7d5ac7cf8938deda9bcd462b958..c35620385da0b057f4efa1f9eebb21c1f9cd5b0a 100644 (file)
@@ -18,7 +18,7 @@
          ((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \
          ((unsigned long) (addr) + (size) >= (unsigned long)(addr))))
 
-static inline int verify_area_skas(int type, const void * addr,
+static inline int __deprecated verify_area_skas(int type, const void * addr,
                                   unsigned long size)
 {
        return(access_ok_skas(type, addr, size) ? 0 : -EFAULT);
index f0bad010cebdc67b56c68925656e147e84d1a2ef..bb69d6b7d0227cdf82bd548baa0e1124a2368bca 100644 (file)
@@ -33,7 +33,7 @@ extern unsigned long uml_physmem;
          (((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \
           (under_task_size(addr, size) || is_stack(addr, size))))
 
-static inline int verify_area_tt(int type, const void * addr,
+static inline int __deprecated verify_area_tt(int type, const void * addr,
                                 unsigned long size)
 {
        return(access_ok_tt(type, addr, size) ? 0 : -EFAULT);
index 903e4c3cc20914aad2b8fe8aec8796b57a70dc8b..a229915ce1b26b5ebb8d088ea9a125765abee686 100644 (file)
@@ -52,7 +52,7 @@
 #define KERNEL
 #include <linux/types.h>
 #include <linux/fs.h>
-#include <linux/mm.h>          /* for verify_area */
+#include <linux/mm.h>
 #include <linux/errno.h>       /* for -EBUSY */
 #include <linux/ioport.h>      /* for request_region */
 #include <linux/delay.h>       /* for loops_per_jiffy */
index c789d5ceac7617aa5e5837dfcfe60bda97789ace..50e0b612a8a2980242b648c06a908d1f6a687a00 100644 (file)
@@ -1987,10 +1987,9 @@ static inline int sx_set_serial_info(struct specialix_port * port,
 
        func_enter();
        /*
-       error = verify_area(VERIFY_READ, (void *) newinfo, sizeof(tmp));
-       if (error) {
+       if (!access_ok(VERIFY_READ, (void *) newinfo, sizeof(tmp))) {
                func_exit();
-               return error;
+               return -EFAULT;
        }
        */
        if (copy_from_user(&tmp, newinfo, sizeof(tmp))) {
@@ -2046,14 +2045,12 @@ static inline int sx_get_serial_info(struct specialix_port * port,
 {
        struct serial_struct tmp;
        struct specialix_board *bp = port_Board(port);
-       //      int error;
        
        func_enter();
 
        /*
-       error = verify_area(VERIFY_WRITE, (void *) retinfo, sizeof(tmp));
-       if (error)
-               return error;
+       if (!access_ok(VERIFY_WRITE, (void *) retinfo, sizeof(tmp)))
+               return -EFAULT;
        */
 
        memset(&tmp, 0, sizeof(tmp));
index 3c6d42a22dfe8259dde7e9ef7ceebbf976ec0dd9..d0a9c2f9c13ece32a626044df2b730f0e6cac275 100644 (file)
@@ -349,9 +349,9 @@ static inline pmd_t *pmd_offset(pud_t *dir, unsigned long address)
 
 /*
  * Define this to warn about kernel memory accesses that are
- * done without a 'verify_area(VERIFY_WRITE,..)'
+ * done without a 'access_ok(VERIFY_WRITE,..)'
  */
-#undef TEST_VERIFY_AREA
+#undef TEST_ACCESS_OK
 
 #define pte_present(x) (pte_val(x) & _PAGE_PRESENT)
 #define pte_clear(mm,addr,xp)  do { set_pte_at(mm, addr, xp, __pte(0)); } while (0)
index d76a5f081c912e65ab12baceebb1114235875963..641342002bcd39e3835793394b3961b59efd8427 100644 (file)
@@ -33,7 +33,7 @@ asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsi
  *     passed in an incorrect kernel address to one of these functions.
  *
  *     If you use these functions directly please don't forget the
- *     verify_area().
+ *     access_ok().
  */
 static __inline__
 unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst,
index 5c725425d863f0e811542680890a6cd2575d9a89..8d60c2b4b0035f888ab943a8e3eb1ae170e30587 100644 (file)
@@ -193,9 +193,9 @@ extern unsigned long long __PAGE_KERNEL, __PAGE_KERNEL_EXEC;
 /*
  * Define this if things work differently on an i386 and an i486:
  * it will (on an i486) warn about kernel memory accesses that are
- * done without a 'verify_area(VERIFY_WRITE,..)'
+ * done without a 'access_ok(VERIFY_WRITE,..)'
  */
-#undef TEST_VERIFY_AREA
+#undef TEST_ACCESS_OK
 
 /* The boot page tables (all created as a single array) */
 extern unsigned long pg0[];
index 8a08423b757062b273077365196bf7c5b6be0370..c1b5bdea53ee078773584f3842393b8640740ed0 100644 (file)
@@ -24,7 +24,7 @@
 
 /*
  * Note that since kernel addresses are in a separate address space on
- * parisc, we don't need to do anything for access_ok() or verify_area().
+ * parisc, we don't need to do anything for access_ok().
  * We just let the page fault handler do the right thing. This also means
  * that put_user is the same as __put_user, etc.
  */
index 5113c7f8a73967485296fdcc94c34c63625f9ad2..5ebd0f24299eeb064bb3cd0a772d5164599aba68 100644 (file)
@@ -42,7 +42,7 @@ asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsi
  *     passed in an incorrect kernel address to one of these functions. 
  *     
  *     If you use these functions directly please don't forget the 
- *     verify_area().
+ *     access_ok().
  */
 static __inline__
 unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst,
index aa3911a99490196faec174eb97ed8e929d91da6d..fd034e9ae6e3f3803dd3b3e4ca5e3d98effac706 100644 (file)
@@ -34,7 +34,7 @@ asmlinkage unsigned int csum_partial(const unsigned char *buff, int len,
  *     passed in an incorrect kernel address to one of these functions.
  *
  *     If you use these functions directly please don't forget the
- *     verify_area().
+ *     access_ok().
  */
 
 
index 3f47889883b734c57c83232caa8bfc6ed91bb1ff..f461144067eea33924e44f9223002ef7e723200e 100644 (file)
@@ -18,7 +18,7 @@
 
 #ifndef __ASSEMBLY__
 
-/* Sparc is not segmented, however we need to be able to fool verify_area()
+/* Sparc is not segmented, however we need to be able to fool access_ok()
  * when doing system calls from kernel mode legitimately.
  *
  * "For historical reasons, these macros are grossly misnamed." -Linus
index c32d27af0a3fd3d4a98e35552ba2337f09abff86..7b214cffc9566b8c6da537200fbbbf01f30fe63d 100644 (file)
@@ -23,7 +23,7 @@
 #include <linux/errno.h>       /* return codes */
 #include <linux/kernel.h>
 #include <linux/slab.h>                /* kmalloc(), kfree() */
-#include <linux/mm.h>          /* verify_area(), etc. */
+#include <linux/mm.h>
 #include <linux/string.h>      /* inline mem*, str* functions */
 #include <linux/init.h>                /* __initfunc et al. */
 #include <asm/byteorder.h>     /* htons(), etc. */
index 6d16be334ea0a3578aed8e84dfaa4a7bd5483c78..e93e838069e8794980c90dc80ef99bca31a2a4db 100644 (file)
@@ -12,7 +12,7 @@
 #include <linux/socket.h>      /* SOL_SOCKET */
 #include <linux/errno.h>       /* error codes */
 #include <linux/capability.h>
-#include <linux/mm.h>          /* verify_area */
+#include <linux/mm.h>
 #include <linux/sched.h>
 #include <linux/time.h>                /* struct timeval */
 #include <linux/skbuff.h>
@@ -540,7 +540,7 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m,
                error = -EMSGSIZE;
                goto out;
        }
-       /* verify_area is done by net/socket.c */
+
        eff = (size+3) & ~3; /* align to word boundary */
        prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
        error = 0;
index d57ace949ab8b054626bd879c8129df5b0a404bf..65e4b56fbc774cb7b605065f8cac65c7006dbbe4 100644 (file)
@@ -33,7 +33,7 @@
  *     Verify iovec. The caller must ensure that the iovec is big enough
  *     to hold the message iovec.
  *
- *     Save time not doing verify_area. copy_*_user will make this work
+ *     Save time not doing access_ok. copy_*_user will make this work
  *     in any case.
  */
 
index 956c17f6c548d5471e5692cb13ac922016747399..d6844ac226f5e17cead226a4e083ae0d7d81b5ea 100644 (file)
@@ -48,8 +48,8 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/module.h>      /* support for loadable modules */
-#include <linux/slab.h>        /* kmalloc(), kfree() */
-#include <linux/mm.h>          /* verify_area(), etc. */
+#include <linux/slab.h>                /* kmalloc(), kfree() */
+#include <linux/mm.h>
 #include <linux/string.h>      /* inline mem*, str* functions */
 
 #include <asm/byteorder.h>     /* htons(), etc. */