VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / arch / ppc / kernel / syscalls.c
index cbc9596..7e1dad4 100644 (file)
@@ -68,7 +68,7 @@ sys_ipc (uint call, int first, int second, int third, void __user *ptr, long fif
                break;
        case SEMTIMEDOP:
                ret = sys_semtimedop (first, (struct sembuf __user *)ptr,
-                                     second, (const struct timespec *) fifth);
+                                     second, (const struct timespec __user *) fifth);
                break;
        case SEMGET:
                ret = sys_semget (first, second, third);
@@ -79,7 +79,7 @@ sys_ipc (uint call, int first, int second, int third, void __user *ptr, long fif
                if (!ptr)
                        break;
                if ((ret = verify_area (VERIFY_READ, ptr, sizeof(long)))
-                   || (ret = get_user(fourth.__pad, (void *__user *)ptr)))
+                   || (ret = get_user(fourth.__pad, (void __user *__user *)ptr)))
                        break;
                ret = sys_semctl (first, second, third, fourth);
                break;
@@ -209,17 +209,17 @@ out:
  * sys_select() with the appropriate args. -- Cort
  */
 int
-ppc_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct timeval *tvp)
+ppc_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, struct timeval __user *tvp)
 {
        if ( (unsigned long)n >= 4096 )
        {
                unsigned long __user *buffer = (unsigned long __user *)n;
                if (verify_area(VERIFY_READ, buffer, 5*sizeof(unsigned long))
                    || __get_user(n, buffer)
-                   || __get_user(inp, ((fd_set **)(buffer+1)))
-                   || __get_user(outp, ((fd_set **)(buffer+2)))
-                   || __get_user(exp, ((fd_set **)(buffer+3)))
-                   || __get_user(tvp, ((struct timeval **)(buffer+4))))
+                   || __get_user(inp, ((fd_set __user * __user *)(buffer+1)))
+                   || __get_user(outp, ((fd_set  __user * __user *)(buffer+2)))
+                   || __get_user(exp, ((fd_set  __user * __user *)(buffer+3)))
+                   || __get_user(tvp, ((struct timeval  __user * __user *)(buffer+4))))
                        return -EFAULT;
        }
        return sys_select(n, inp, outp, exp, tvp);