[PATCH][9/10] verify_area cleanup : misc remaining archs
The last remaining archs that have not already been converted from verify_area to access_ok by the previous patches are all taken care of by this one. Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]> diff -urp linux-2.6.11-orig/arch/sh/kernel/signal.c linux-2.6.11/arch/sh/kernel/signal.c --- linux-2.6.11-orig/arch/sh/kernel/signal.c 2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/sh/kernel/signal.c2005-03-03 22:28:34.0 +0100 @@ -100,7 +100,7 @@ sys_sigaction(int sig, const struct old_ if (act) { old_sigset_t mask; - if (verify_area(VERIFY_READ, act, sizeof(*act)) || + if (!access_ok(VERIFY_READ, act, sizeof(*act)) || __get_user(new_ka.sa.sa_handler, >sa_handler) || __get_user(new_ka.sa.sa_restorer, >sa_restorer)) return -EFAULT; @@ -112,7 +112,7 @@ sys_sigaction(int sig, const struct old_ ret = do_sigaction(sig, act ? _ka : NULL, oact ? _ka : NULL); if (!ret && oact) { - if (verify_area(VERIFY_WRITE, oact, sizeof(*oact)) || + if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || __put_user(old_ka.sa.sa_handler, >sa_handler) || __put_user(old_ka.sa.sa_restorer, >sa_restorer)) return -EFAULT; @@ -239,7 +239,7 @@ asmlinkage int sys_sigreturn(unsigned lo sigset_t set; int r0; - if (verify_area(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__get_user(set.sig[0], >sc.oldmask) @@ -273,7 +273,7 @@ asmlinkage int sys_rt_sigreturn(unsigned stack_t st; int r0; - if (verify_area(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__copy_from_user(, >uc.uc_sigmask, sizeof(set))) diff -urp linux-2.6.11-orig/arch/um/include/sysdep-i386/checksum.h linux-2.6.11/arch/um/include/sysdep-i386/checksum.h --- linux-2.6.11-orig/arch/um/include/sysdep-i386/checksum.h2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/um/include/sysdep-i386/checksum.h 2005-03-03 22:28:34.0 +0100 @@ -41,7 +41,7 @@ unsigned int csum_partial_copy_from(cons * 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__ diff -urp linux-2.6.11-orig/arch/um/include/sysdep-x86_64/checksum.h linux-2.6.11/arch/um/include/sysdep-x86_64/checksum.h --- linux-2.6.11-orig/arch/um/include/sysdep-x86_64/checksum.h 2005-03-02 08:37:54.0 +0100 +++ linux-2.6.11/arch/um/include/sysdep-x86_64/checksum.h 2005-03-03 22:28:34.0 +0100 @@ -19,7 +19,7 @@ extern unsigned csum_partial(const unsig * 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__ diff -urp linux-2.6.11-orig/arch/um/sys-i386/ldt.c linux-2.6.11/arch/um/sys-i386/ldt.c --- linux-2.6.11-orig/arch/um/sys-i386/ldt.c2005-03-02 08:38:09.0 +0100 +++ linux-2.6.11/arch/um/sys-i386/ldt.c 2005-03-03 22:28:34.0 +0100 @@ -17,7 +17,7 @@ extern int modify_ldt(int func, void *pt int sys_modify_ldt_tt(int func, void __user *ptr, unsigned long bytecount) { - if (verify_area(VERIFY_READ, ptr, bytecount)) + if (!access_ok(VERIFY_READ, ptr, bytecount)) return -EFAULT; return modify_ldt(func, ptr, bytecount); diff -urp linux-2.6.11-orig/arch/um/sys-i386/signal.c linux-2.6.11/arch/um/sys-i386/signal.c --- linux-2.6.11-orig/arch/um/sys-i386/signal.c 2005-03-02 08:38:17.0 +0100 +++ linux-2.6.11/arch/um/sys-i386/signal.c 2005-03-03 22:28:34.0 +0100 @@ -211,8 +211,8 @@ int setup_signal_stack_sc(unsigned long stack_top &= -8UL; frame = (struct sigframe *) stack_top - 1; - if(verify_area(VERIFY_WRITE, frame, sizeof(*frame))) - return(1); + if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) + return 1; restorer = (void *) frame->retcode; if(ka->sa.sa_flags & SA_RESTORER) @@ -261,8 +261,8 @@ int setup_signal_stack_si(unsigned long stack_top &= -8UL; frame = (struct rt_sigframe *) stack_top - 1; - if(verify_area(VERIFY_WRITE, frame, sizeof(*frame))) - return(1); + if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) + return 1; restorer = (void *) frame->retcode; if(ka->sa.sa_flags & SA_RESTORER) diff -urp linux-2.6.11-orig/arch/um/sys-i386/syscalls.c linux-2.6.11/arch/um/sys-i386/syscalls.c --- linux-2.6.11-orig/arch/um/sys-i386/syscalls.c 2005-03-02
[PATCH][9/10] verify_area cleanup : misc remaining archs
The last remaining archs that have not already been converted from verify_area to access_ok by the previous patches are all taken care of by this one. Signed-off-by: Jesper Juhl [EMAIL PROTECTED] diff -urp linux-2.6.11-orig/arch/sh/kernel/signal.c linux-2.6.11/arch/sh/kernel/signal.c --- linux-2.6.11-orig/arch/sh/kernel/signal.c 2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/sh/kernel/signal.c2005-03-03 22:28:34.0 +0100 @@ -100,7 +100,7 @@ sys_sigaction(int sig, const struct old_ if (act) { old_sigset_t mask; - if (verify_area(VERIFY_READ, act, sizeof(*act)) || + if (!access_ok(VERIFY_READ, act, sizeof(*act)) || __get_user(new_ka.sa.sa_handler, act-sa_handler) || __get_user(new_ka.sa.sa_restorer, act-sa_restorer)) return -EFAULT; @@ -112,7 +112,7 @@ sys_sigaction(int sig, const struct old_ ret = do_sigaction(sig, act ? new_ka : NULL, oact ? old_ka : NULL); if (!ret oact) { - if (verify_area(VERIFY_WRITE, oact, sizeof(*oact)) || + if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) || __put_user(old_ka.sa.sa_handler, oact-sa_handler) || __put_user(old_ka.sa.sa_restorer, oact-sa_restorer)) return -EFAULT; @@ -239,7 +239,7 @@ asmlinkage int sys_sigreturn(unsigned lo sigset_t set; int r0; - if (verify_area(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__get_user(set.sig[0], frame-sc.oldmask) @@ -273,7 +273,7 @@ asmlinkage int sys_rt_sigreturn(unsigned stack_t st; int r0; - if (verify_area(VERIFY_READ, frame, sizeof(*frame))) + if (!access_ok(VERIFY_READ, frame, sizeof(*frame))) goto badframe; if (__copy_from_user(set, frame-uc.uc_sigmask, sizeof(set))) diff -urp linux-2.6.11-orig/arch/um/include/sysdep-i386/checksum.h linux-2.6.11/arch/um/include/sysdep-i386/checksum.h --- linux-2.6.11-orig/arch/um/include/sysdep-i386/checksum.h2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/um/include/sysdep-i386/checksum.h 2005-03-03 22:28:34.0 +0100 @@ -41,7 +41,7 @@ unsigned int csum_partial_copy_from(cons * 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__ diff -urp linux-2.6.11-orig/arch/um/include/sysdep-x86_64/checksum.h linux-2.6.11/arch/um/include/sysdep-x86_64/checksum.h --- linux-2.6.11-orig/arch/um/include/sysdep-x86_64/checksum.h 2005-03-02 08:37:54.0 +0100 +++ linux-2.6.11/arch/um/include/sysdep-x86_64/checksum.h 2005-03-03 22:28:34.0 +0100 @@ -19,7 +19,7 @@ extern unsigned csum_partial(const unsig * 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__ diff -urp linux-2.6.11-orig/arch/um/sys-i386/ldt.c linux-2.6.11/arch/um/sys-i386/ldt.c --- linux-2.6.11-orig/arch/um/sys-i386/ldt.c2005-03-02 08:38:09.0 +0100 +++ linux-2.6.11/arch/um/sys-i386/ldt.c 2005-03-03 22:28:34.0 +0100 @@ -17,7 +17,7 @@ extern int modify_ldt(int func, void *pt int sys_modify_ldt_tt(int func, void __user *ptr, unsigned long bytecount) { - if (verify_area(VERIFY_READ, ptr, bytecount)) + if (!access_ok(VERIFY_READ, ptr, bytecount)) return -EFAULT; return modify_ldt(func, ptr, bytecount); diff -urp linux-2.6.11-orig/arch/um/sys-i386/signal.c linux-2.6.11/arch/um/sys-i386/signal.c --- linux-2.6.11-orig/arch/um/sys-i386/signal.c 2005-03-02 08:38:17.0 +0100 +++ linux-2.6.11/arch/um/sys-i386/signal.c 2005-03-03 22:28:34.0 +0100 @@ -211,8 +211,8 @@ int setup_signal_stack_sc(unsigned long stack_top = -8UL; frame = (struct sigframe *) stack_top - 1; - if(verify_area(VERIFY_WRITE, frame, sizeof(*frame))) - return(1); + if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) + return 1; restorer = (void *) frame-retcode; if(ka-sa.sa_flags SA_RESTORER) @@ -261,8 +261,8 @@ int setup_signal_stack_si(unsigned long stack_top = -8UL; frame = (struct rt_sigframe *) stack_top - 1; - if(verify_area(VERIFY_WRITE, frame, sizeof(*frame))) - return(1); + if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) + return 1; restorer = (void *) frame-retcode; if(ka-sa.sa_flags SA_RESTORER) diff -urp linux-2.6.11-orig/arch/um/sys-i386/syscalls.c linux-2.6.11/arch/um/sys-i386/syscalls.c --- linux-2.6.11-orig/arch/um/sys-i386/syscalls.c