[PATCH][5/10] verify_area cleanup : mips
This is the patch to convert verify_area to access_ok for arch/mips Signed-off-by: Jesper Juhl <[EMAIL PROTECTED]> diff -urp linux-2.6.11-orig/arch/mips/kernel/irixelf.c linux-2.6.11/arch/mips/kernel/irixelf.c --- linux-2.6.11-orig/arch/mips/kernel/irixelf.c2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixelf.c 2005-03-03 21:27:55.0 +0100 @@ -887,12 +887,11 @@ unsigned long irix_mapelf(int fd, struct /* First get the verification out of the way. */ hp = user_phdrp; - retval = verify_area(VERIFY_READ, hp, (sizeof(struct elf_phdr) * cnt)); - if(retval) { + if (!access_ok(VERIFY_READ, hp, (sizeof(struct elf_phdr) * cnt))) { #ifdef DEBUG_ELF - printk("irix_mapelf: verify_area fails!\n"); + printk("irix_mapelf: access_ok fails!\n"); #endif - return retval; + return -EFAULT; } #ifdef DEBUG_ELF diff -urp linux-2.6.11-orig/arch/mips/kernel/irixinv.c linux-2.6.11/arch/mips/kernel/irixinv.c --- linux-2.6.11-orig/arch/mips/kernel/irixinv.c2005-03-02 08:37:48.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixinv.c 2005-03-03 21:27:55.0 +0100 @@ -36,8 +36,8 @@ int dump_inventory_to_user (void *userbu inventory_t *user = userbuf; int v; - if ((v = verify_area (VERIFY_WRITE, userbuf, size))) - return v; + if (!access_ok(VERIFY_WRITE, userbuf, size)) + return -EFAULT; for (v = 0; v < inventory_items; v++){ inv = [v]; diff -urp linux-2.6.11-orig/arch/mips/kernel/irixsig.c linux-2.6.11/arch/mips/kernel/irixsig.c --- linux-2.6.11-orig/arch/mips/kernel/irixsig.c2005-03-02 08:38:25.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixsig.c 2005-03-03 21:32:49.0 +0100 @@ -312,7 +312,7 @@ irix_sigaction(int sig, const struct sig #endif if (act) { 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_flags, >sa_flags)) return -EFAULT; @@ -331,7 +331,7 @@ irix_sigaction(int sig, const struct sig 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_flags, >sa_flags)) return -EFAULT; @@ -350,12 +350,10 @@ asmlinkage int irix_sigpending(irix_sigs asmlinkage int irix_sigprocmask(int how, irix_sigset_t *new, irix_sigset_t *old) { sigset_t oldbits, newbits; - int error; if (new) { - error = verify_area(VERIFY_READ, new, sizeof(*new)); - if (error) - return error; + if (!access_ok(VERIFY_READ, new, sizeof(*new))) + return -EFAULT; __copy_from_user(, new, sizeof(unsigned long)*4); sigdelsetmask(, ~_BLOCKABLE); @@ -385,9 +383,8 @@ asmlinkage int irix_sigprocmask(int how, spin_unlock_irq(>sighand->siglock); } if(old) { - error = verify_area(VERIFY_WRITE, old, sizeof(*old)); - if(error) - return error; + if (!access_ok(VERIFY_WRITE, old, sizeof(*old))) + return -EFAULT; __copy_to_user(old, >blocked, sizeof(unsigned long)*4); } @@ -469,12 +466,13 @@ asmlinkage int irix_sigpoll_sys(unsigned #endif /* Must always specify the signal set. */ - if(!set) + if (!set) return -EINVAL; - error = verify_area(VERIFY_READ, set, sizeof(kset)); - if (error) + if (!access_ok(VERIFY_READ, set, sizeof(kset))) { + error = -EFAULT; goto out; + } __copy_from_user(, set, sizeof(set)); if (error) @@ -485,11 +483,10 @@ asmlinkage int irix_sigpoll_sys(unsigned goto out; } - if(tp) { - error = verify_area(VERIFY_READ, tp, sizeof(*tp)); - if(error) - return error; - if(!tp->tv_sec && !tp->tv_nsec) { + if (tp) { + if (!access_ok(VERIFY_READ, tp, sizeof(*tp))) + return -EFAULT; + if (!tp->tv_sec && !tp->tv_nsec) { error = -EINVAL; goto out; } @@ -564,13 +561,15 @@ asmlinkage int irix_waitsys(int type, in retval = -EINVAL; goto out; } - retval =
[PATCH][5/10] verify_area cleanup : mips
This is the patch to convert verify_area to access_ok for arch/mips Signed-off-by: Jesper Juhl [EMAIL PROTECTED] diff -urp linux-2.6.11-orig/arch/mips/kernel/irixelf.c linux-2.6.11/arch/mips/kernel/irixelf.c --- linux-2.6.11-orig/arch/mips/kernel/irixelf.c2005-03-02 08:38:34.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixelf.c 2005-03-03 21:27:55.0 +0100 @@ -887,12 +887,11 @@ unsigned long irix_mapelf(int fd, struct /* First get the verification out of the way. */ hp = user_phdrp; - retval = verify_area(VERIFY_READ, hp, (sizeof(struct elf_phdr) * cnt)); - if(retval) { + if (!access_ok(VERIFY_READ, hp, (sizeof(struct elf_phdr) * cnt))) { #ifdef DEBUG_ELF - printk(irix_mapelf: verify_area fails!\n); + printk(irix_mapelf: access_ok fails!\n); #endif - return retval; + return -EFAULT; } #ifdef DEBUG_ELF diff -urp linux-2.6.11-orig/arch/mips/kernel/irixinv.c linux-2.6.11/arch/mips/kernel/irixinv.c --- linux-2.6.11-orig/arch/mips/kernel/irixinv.c2005-03-02 08:37:48.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixinv.c 2005-03-03 21:27:55.0 +0100 @@ -36,8 +36,8 @@ int dump_inventory_to_user (void *userbu inventory_t *user = userbuf; int v; - if ((v = verify_area (VERIFY_WRITE, userbuf, size))) - return v; + if (!access_ok(VERIFY_WRITE, userbuf, size)) + return -EFAULT; for (v = 0; v inventory_items; v++){ inv = inventory [v]; diff -urp linux-2.6.11-orig/arch/mips/kernel/irixsig.c linux-2.6.11/arch/mips/kernel/irixsig.c --- linux-2.6.11-orig/arch/mips/kernel/irixsig.c2005-03-02 08:38:25.0 +0100 +++ linux-2.6.11/arch/mips/kernel/irixsig.c 2005-03-03 21:32:49.0 +0100 @@ -312,7 +312,7 @@ irix_sigaction(int sig, const struct sig #endif if (act) { 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_flags, act-sa_flags)) return -EFAULT; @@ -331,7 +331,7 @@ irix_sigaction(int sig, const struct sig 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_flags, oact-sa_flags)) return -EFAULT; @@ -350,12 +350,10 @@ asmlinkage int irix_sigpending(irix_sigs asmlinkage int irix_sigprocmask(int how, irix_sigset_t *new, irix_sigset_t *old) { sigset_t oldbits, newbits; - int error; if (new) { - error = verify_area(VERIFY_READ, new, sizeof(*new)); - if (error) - return error; + if (!access_ok(VERIFY_READ, new, sizeof(*new))) + return -EFAULT; __copy_from_user(newbits, new, sizeof(unsigned long)*4); sigdelsetmask(newbits, ~_BLOCKABLE); @@ -385,9 +383,8 @@ asmlinkage int irix_sigprocmask(int how, spin_unlock_irq(current-sighand-siglock); } if(old) { - error = verify_area(VERIFY_WRITE, old, sizeof(*old)); - if(error) - return error; + if (!access_ok(VERIFY_WRITE, old, sizeof(*old))) + return -EFAULT; __copy_to_user(old, current-blocked, sizeof(unsigned long)*4); } @@ -469,12 +466,13 @@ asmlinkage int irix_sigpoll_sys(unsigned #endif /* Must always specify the signal set. */ - if(!set) + if (!set) return -EINVAL; - error = verify_area(VERIFY_READ, set, sizeof(kset)); - if (error) + if (!access_ok(VERIFY_READ, set, sizeof(kset))) { + error = -EFAULT; goto out; + } __copy_from_user(kset, set, sizeof(set)); if (error) @@ -485,11 +483,10 @@ asmlinkage int irix_sigpoll_sys(unsigned goto out; } - if(tp) { - error = verify_area(VERIFY_READ, tp, sizeof(*tp)); - if(error) - return error; - if(!tp-tv_sec !tp-tv_nsec) { + if (tp) { + if (!access_ok(VERIFY_READ, tp, sizeof(*tp))) + return -EFAULT; + if (!tp-tv_sec !tp-tv_nsec) { error = -EINVAL; goto out; } @@ -564,13 +561,15 @@ asmlinkage int irix_waitsys(int type, in retval = -EINVAL; goto out;