[PATCH][5/10] verify_area cleanup : mips

2005-03-03 Thread Jesper Juhl

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

2005-03-03 Thread Jesper Juhl

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;