diff options
author | Jesper Juhl <juhl-lkml@dif.dk> | 2005-05-01 11:59:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-01 11:59:08 -0400 |
commit | e49332bd12e92da2df6d002f857ec62675ba2648 (patch) | |
tree | f975cc5e4d93fc33e80f7213d2013e035bfc3ae7 | |
parent | a71c1ab50a2a0f4dd9834bf5a917a2f064535c6b (diff) |
[PATCH] misc verify_area cleanups
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>
-rw-r--r-- | arch/i386/kernel/vm86.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/skas/include/uaccess-skas.h | 2 | ||||
-rw-r--r-- | arch/um/kernel/tt/include/uaccess-tt.h | 2 | ||||
-rw-r--r-- | drivers/char/dtlk.c | 2 | ||||
-rw-r--r-- | drivers/char/specialix.c | 11 | ||||
-rw-r--r-- | include/asm-frv/pgtable.h | 4 | ||||
-rw-r--r-- | include/asm-i386/checksum.h | 2 | ||||
-rw-r--r-- | include/asm-i386/pgtable.h | 4 | ||||
-rw-r--r-- | include/asm-parisc/uaccess.h | 2 | ||||
-rw-r--r-- | include/asm-sh/checksum.h | 2 | ||||
-rw-r--r-- | include/asm-sh64/checksum.h | 2 | ||||
-rw-r--r-- | include/asm-sparc/uaccess.h | 2 | ||||
-rw-r--r-- | net/8021q/vlanproc.c | 2 | ||||
-rw-r--r-- | net/atm/common.c | 4 | ||||
-rw-r--r-- | net/core/iovec.c | 2 | ||||
-rw-r--r-- | net/wanrouter/wanmain.c | 4 |
16 files changed, 23 insertions, 26 deletions
diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index d3b4c540eb64..ec0f68ce6886 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c | |||
@@ -222,7 +222,7 @@ asmlinkage int sys_vm86(struct pt_regs regs) | |||
222 | goto out; | 222 | goto out; |
223 | case VM86_PLUS_INSTALL_CHECK: | 223 | case VM86_PLUS_INSTALL_CHECK: |
224 | /* NOTE: on old vm86 stuff this will return the error | 224 | /* NOTE: on old vm86 stuff this will return the error |
225 | from verify_area(), because the subfunction is | 225 | from access_ok(), because the subfunction is |
226 | interpreted as (invalid) address to vm86_struct. | 226 | interpreted as (invalid) address to vm86_struct. |
227 | So the installation check works. | 227 | So the installation check works. |
228 | */ | 228 | */ |
diff --git a/arch/um/kernel/skas/include/uaccess-skas.h b/arch/um/kernel/skas/include/uaccess-skas.h index 11986c9b9ddf..c35620385da0 100644 --- a/arch/um/kernel/skas/include/uaccess-skas.h +++ b/arch/um/kernel/skas/include/uaccess-skas.h | |||
@@ -18,7 +18,7 @@ | |||
18 | ((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \ | 18 | ((unsigned long) (addr) + (size) <= FIXADDR_USER_END) && \ |
19 | ((unsigned long) (addr) + (size) >= (unsigned long)(addr)))) | 19 | ((unsigned long) (addr) + (size) >= (unsigned long)(addr)))) |
20 | 20 | ||
21 | static inline int verify_area_skas(int type, const void * addr, | 21 | static inline int __deprecated verify_area_skas(int type, const void * addr, |
22 | unsigned long size) | 22 | unsigned long size) |
23 | { | 23 | { |
24 | return(access_ok_skas(type, addr, size) ? 0 : -EFAULT); | 24 | return(access_ok_skas(type, addr, size) ? 0 : -EFAULT); |
diff --git a/arch/um/kernel/tt/include/uaccess-tt.h b/arch/um/kernel/tt/include/uaccess-tt.h index f0bad010cebd..bb69d6b7d022 100644 --- a/arch/um/kernel/tt/include/uaccess-tt.h +++ b/arch/um/kernel/tt/include/uaccess-tt.h | |||
@@ -33,7 +33,7 @@ extern unsigned long uml_physmem; | |||
33 | (((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \ | 33 | (((unsigned long) (addr) <= ((unsigned long) (addr) + (size))) && \ |
34 | (under_task_size(addr, size) || is_stack(addr, size)))) | 34 | (under_task_size(addr, size) || is_stack(addr, size)))) |
35 | 35 | ||
36 | static inline int verify_area_tt(int type, const void * addr, | 36 | static inline int __deprecated verify_area_tt(int type, const void * addr, |
37 | unsigned long size) | 37 | unsigned long size) |
38 | { | 38 | { |
39 | return(access_ok_tt(type, addr, size) ? 0 : -EFAULT); | 39 | return(access_ok_tt(type, addr, size) ? 0 : -EFAULT); |
diff --git a/drivers/char/dtlk.c b/drivers/char/dtlk.c index 903e4c3cc209..a229915ce1b2 100644 --- a/drivers/char/dtlk.c +++ b/drivers/char/dtlk.c | |||
@@ -52,7 +52,7 @@ | |||
52 | #define KERNEL | 52 | #define KERNEL |
53 | #include <linux/types.h> | 53 | #include <linux/types.h> |
54 | #include <linux/fs.h> | 54 | #include <linux/fs.h> |
55 | #include <linux/mm.h> /* for verify_area */ | 55 | #include <linux/mm.h> |
56 | #include <linux/errno.h> /* for -EBUSY */ | 56 | #include <linux/errno.h> /* for -EBUSY */ |
57 | #include <linux/ioport.h> /* for request_region */ | 57 | #include <linux/ioport.h> /* for request_region */ |
58 | #include <linux/delay.h> /* for loops_per_jiffy */ | 58 | #include <linux/delay.h> /* for loops_per_jiffy */ |
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index c789d5ceac76..50e0b612a8a2 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c | |||
@@ -1987,10 +1987,9 @@ static inline int sx_set_serial_info(struct specialix_port * port, | |||
1987 | 1987 | ||
1988 | func_enter(); | 1988 | func_enter(); |
1989 | /* | 1989 | /* |
1990 | error = verify_area(VERIFY_READ, (void *) newinfo, sizeof(tmp)); | 1990 | if (!access_ok(VERIFY_READ, (void *) newinfo, sizeof(tmp))) { |
1991 | if (error) { | ||
1992 | func_exit(); | 1991 | func_exit(); |
1993 | return error; | 1992 | return -EFAULT; |
1994 | } | 1993 | } |
1995 | */ | 1994 | */ |
1996 | if (copy_from_user(&tmp, newinfo, sizeof(tmp))) { | 1995 | if (copy_from_user(&tmp, newinfo, sizeof(tmp))) { |
@@ -2046,14 +2045,12 @@ static inline int sx_get_serial_info(struct specialix_port * port, | |||
2046 | { | 2045 | { |
2047 | struct serial_struct tmp; | 2046 | struct serial_struct tmp; |
2048 | struct specialix_board *bp = port_Board(port); | 2047 | struct specialix_board *bp = port_Board(port); |
2049 | // int error; | ||
2050 | 2048 | ||
2051 | func_enter(); | 2049 | func_enter(); |
2052 | 2050 | ||
2053 | /* | 2051 | /* |
2054 | error = verify_area(VERIFY_WRITE, (void *) retinfo, sizeof(tmp)); | 2052 | if (!access_ok(VERIFY_WRITE, (void *) retinfo, sizeof(tmp))) |
2055 | if (error) | 2053 | return -EFAULT; |
2056 | return error; | ||
2057 | */ | 2054 | */ |
2058 | 2055 | ||
2059 | memset(&tmp, 0, sizeof(tmp)); | 2056 | memset(&tmp, 0, sizeof(tmp)); |
diff --git a/include/asm-frv/pgtable.h b/include/asm-frv/pgtable.h index 3c6d42a22dfe..d0a9c2f9c13e 100644 --- a/include/asm-frv/pgtable.h +++ b/include/asm-frv/pgtable.h | |||
@@ -349,9 +349,9 @@ static inline pmd_t *pmd_offset(pud_t *dir, unsigned long address) | |||
349 | 349 | ||
350 | /* | 350 | /* |
351 | * Define this to warn about kernel memory accesses that are | 351 | * Define this to warn about kernel memory accesses that are |
352 | * done without a 'verify_area(VERIFY_WRITE,..)' | 352 | * done without a 'access_ok(VERIFY_WRITE,..)' |
353 | */ | 353 | */ |
354 | #undef TEST_VERIFY_AREA | 354 | #undef TEST_ACCESS_OK |
355 | 355 | ||
356 | #define pte_present(x) (pte_val(x) & _PAGE_PRESENT) | 356 | #define pte_present(x) (pte_val(x) & _PAGE_PRESENT) |
357 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) | 357 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) |
diff --git a/include/asm-i386/checksum.h b/include/asm-i386/checksum.h index d76a5f081c91..641342002bcd 100644 --- a/include/asm-i386/checksum.h +++ b/include/asm-i386/checksum.h | |||
@@ -33,7 +33,7 @@ asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsi | |||
33 | * passed in an incorrect kernel address to one of these functions. | 33 | * passed in an incorrect kernel address to one of these functions. |
34 | * | 34 | * |
35 | * If you use these functions directly please don't forget the | 35 | * If you use these functions directly please don't forget the |
36 | * verify_area(). | 36 | * access_ok(). |
37 | */ | 37 | */ |
38 | static __inline__ | 38 | static __inline__ |
39 | unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, | 39 | unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, |
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h index 5c725425d863..8d60c2b4b003 100644 --- a/include/asm-i386/pgtable.h +++ b/include/asm-i386/pgtable.h | |||
@@ -193,9 +193,9 @@ extern unsigned long long __PAGE_KERNEL, __PAGE_KERNEL_EXEC; | |||
193 | /* | 193 | /* |
194 | * Define this if things work differently on an i386 and an i486: | 194 | * Define this if things work differently on an i386 and an i486: |
195 | * it will (on an i486) warn about kernel memory accesses that are | 195 | * it will (on an i486) warn about kernel memory accesses that are |
196 | * done without a 'verify_area(VERIFY_WRITE,..)' | 196 | * done without a 'access_ok(VERIFY_WRITE,..)' |
197 | */ | 197 | */ |
198 | #undef TEST_VERIFY_AREA | 198 | #undef TEST_ACCESS_OK |
199 | 199 | ||
200 | /* The boot page tables (all created as a single array) */ | 200 | /* The boot page tables (all created as a single array) */ |
201 | extern unsigned long pg0[]; | 201 | extern unsigned long pg0[]; |
diff --git a/include/asm-parisc/uaccess.h b/include/asm-parisc/uaccess.h index 8a08423b7570..c1b5bdea53ee 100644 --- a/include/asm-parisc/uaccess.h +++ b/include/asm-parisc/uaccess.h | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | /* | 25 | /* |
26 | * Note that since kernel addresses are in a separate address space on | 26 | * Note that since kernel addresses are in a separate address space on |
27 | * parisc, we don't need to do anything for access_ok() or verify_area(). | 27 | * parisc, we don't need to do anything for access_ok(). |
28 | * We just let the page fault handler do the right thing. This also means | 28 | * We just let the page fault handler do the right thing. This also means |
29 | * that put_user is the same as __put_user, etc. | 29 | * that put_user is the same as __put_user, etc. |
30 | */ | 30 | */ |
diff --git a/include/asm-sh/checksum.h b/include/asm-sh/checksum.h index 5113c7f8a739..5ebd0f24299e 100644 --- a/include/asm-sh/checksum.h +++ b/include/asm-sh/checksum.h | |||
@@ -42,7 +42,7 @@ asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsi | |||
42 | * passed in an incorrect kernel address to one of these functions. | 42 | * passed in an incorrect kernel address to one of these functions. |
43 | * | 43 | * |
44 | * If you use these functions directly please don't forget the | 44 | * If you use these functions directly please don't forget the |
45 | * verify_area(). | 45 | * access_ok(). |
46 | */ | 46 | */ |
47 | static __inline__ | 47 | static __inline__ |
48 | unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, | 48 | unsigned int csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, |
diff --git a/include/asm-sh64/checksum.h b/include/asm-sh64/checksum.h index aa3911a99490..fd034e9ae6e3 100644 --- a/include/asm-sh64/checksum.h +++ b/include/asm-sh64/checksum.h | |||
@@ -34,7 +34,7 @@ asmlinkage unsigned int csum_partial(const unsigned char *buff, int len, | |||
34 | * passed in an incorrect kernel address to one of these functions. | 34 | * passed in an incorrect kernel address to one of these functions. |
35 | * | 35 | * |
36 | * If you use these functions directly please don't forget the | 36 | * If you use these functions directly please don't forget the |
37 | * verify_area(). | 37 | * access_ok(). |
38 | */ | 38 | */ |
39 | 39 | ||
40 | 40 | ||
diff --git a/include/asm-sparc/uaccess.h b/include/asm-sparc/uaccess.h index 3f47889883b7..f461144067ee 100644 --- a/include/asm-sparc/uaccess.h +++ b/include/asm-sparc/uaccess.h | |||
@@ -18,7 +18,7 @@ | |||
18 | 18 | ||
19 | #ifndef __ASSEMBLY__ | 19 | #ifndef __ASSEMBLY__ |
20 | 20 | ||
21 | /* Sparc is not segmented, however we need to be able to fool verify_area() | 21 | /* Sparc is not segmented, however we need to be able to fool access_ok() |
22 | * when doing system calls from kernel mode legitimately. | 22 | * when doing system calls from kernel mode legitimately. |
23 | * | 23 | * |
24 | * "For historical reasons, these macros are grossly misnamed." -Linus | 24 | * "For historical reasons, these macros are grossly misnamed." -Linus |
diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c index c32d27af0a3f..7b214cffc956 100644 --- a/net/8021q/vlanproc.c +++ b/net/8021q/vlanproc.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #include <linux/errno.h> /* return codes */ | 23 | #include <linux/errno.h> /* return codes */ |
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/slab.h> /* kmalloc(), kfree() */ | 25 | #include <linux/slab.h> /* kmalloc(), kfree() */ |
26 | #include <linux/mm.h> /* verify_area(), etc. */ | 26 | #include <linux/mm.h> |
27 | #include <linux/string.h> /* inline mem*, str* functions */ | 27 | #include <linux/string.h> /* inline mem*, str* functions */ |
28 | #include <linux/init.h> /* __initfunc et al. */ | 28 | #include <linux/init.h> /* __initfunc et al. */ |
29 | #include <asm/byteorder.h> /* htons(), etc. */ | 29 | #include <asm/byteorder.h> /* htons(), etc. */ |
diff --git a/net/atm/common.c b/net/atm/common.c index 6d16be334ea0..e93e838069e8 100644 --- a/net/atm/common.c +++ b/net/atm/common.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/socket.h> /* SOL_SOCKET */ | 12 | #include <linux/socket.h> /* SOL_SOCKET */ |
13 | #include <linux/errno.h> /* error codes */ | 13 | #include <linux/errno.h> /* error codes */ |
14 | #include <linux/capability.h> | 14 | #include <linux/capability.h> |
15 | #include <linux/mm.h> /* verify_area */ | 15 | #include <linux/mm.h> |
16 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
17 | #include <linux/time.h> /* struct timeval */ | 17 | #include <linux/time.h> /* struct timeval */ |
18 | #include <linux/skbuff.h> | 18 | #include <linux/skbuff.h> |
@@ -540,7 +540,7 @@ int vcc_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *m, | |||
540 | error = -EMSGSIZE; | 540 | error = -EMSGSIZE; |
541 | goto out; | 541 | goto out; |
542 | } | 542 | } |
543 | /* verify_area is done by net/socket.c */ | 543 | |
544 | eff = (size+3) & ~3; /* align to word boundary */ | 544 | eff = (size+3) & ~3; /* align to word boundary */ |
545 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); | 545 | prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE); |
546 | error = 0; | 546 | error = 0; |
diff --git a/net/core/iovec.c b/net/core/iovec.c index d57ace949ab8..65e4b56fbc77 100644 --- a/net/core/iovec.c +++ b/net/core/iovec.c | |||
@@ -33,7 +33,7 @@ | |||
33 | * Verify iovec. The caller must ensure that the iovec is big enough | 33 | * Verify iovec. The caller must ensure that the iovec is big enough |
34 | * to hold the message iovec. | 34 | * to hold the message iovec. |
35 | * | 35 | * |
36 | * Save time not doing verify_area. copy_*_user will make this work | 36 | * Save time not doing access_ok. copy_*_user will make this work |
37 | * in any case. | 37 | * in any case. |
38 | */ | 38 | */ |
39 | 39 | ||
diff --git a/net/wanrouter/wanmain.c b/net/wanrouter/wanmain.c index 956c17f6c548..d6844ac226f5 100644 --- a/net/wanrouter/wanmain.c +++ b/net/wanrouter/wanmain.c | |||
@@ -48,8 +48,8 @@ | |||
48 | #include <linux/kernel.h> | 48 | #include <linux/kernel.h> |
49 | #include <linux/init.h> | 49 | #include <linux/init.h> |
50 | #include <linux/module.h> /* support for loadable modules */ | 50 | #include <linux/module.h> /* support for loadable modules */ |
51 | #include <linux/slab.h> /* kmalloc(), kfree() */ | 51 | #include <linux/slab.h> /* kmalloc(), kfree() */ |
52 | #include <linux/mm.h> /* verify_area(), etc. */ | 52 | #include <linux/mm.h> |
53 | #include <linux/string.h> /* inline mem*, str* functions */ | 53 | #include <linux/string.h> /* inline mem*, str* functions */ |
54 | 54 | ||
55 | #include <asm/byteorder.h> /* htons(), etc. */ | 55 | #include <asm/byteorder.h> /* htons(), etc. */ |