vserver 1.9.5.x5
[linux-2.6.git] / arch / sparc64 / kernel / sys_sparc.c
index 3d6fd1e..04177d8 100644 (file)
@@ -200,7 +200,8 @@ out:
  * This is really horribly ugly.
  */
 
-asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long third, void __user *ptr, long fifth)
+asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
+                       unsigned long third, void __user *ptr, long fifth)
 {
        int err;
 
@@ -208,14 +209,15 @@ asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long
        if (call <= SEMCTL) {
                switch (call) {
                case SEMOP:
-                       err = sys_semtimedop(first, ptr, second, NULL);
+                       err = sys_semtimedop(first, ptr,
+                                            (unsigned)second, NULL);
                        goto out;
                case SEMTIMEDOP:
-                       err = sys_semtimedop(first, ptr, second,
+                       err = sys_semtimedop(first, ptr, (unsigned)second,
                                (const struct timespec __user *) fifth);
                        goto out;
                case SEMGET:
-                       err = sys_semget(first, second, (int)third);
+                       err = sys_semget(first, (int)second, (int)third);
                        goto out;
                case SEMCTL: {
                        union semun fourth;
@@ -226,7 +228,7 @@ asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long
                        if (get_user(fourth.__pad,
                                     (void __user * __user *) ptr))
                                goto out;
-                       err = sys_semctl(first, second | IPC_64,
+                       err = sys_semctl(first, (int)second | IPC_64,
                                         (int)third, fourth);
                        goto out;
                }
@@ -238,17 +240,18 @@ asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long
        if (call <= MSGCTL) {
                switch (call) {
                case MSGSND:
-                       err = sys_msgsnd(first, ptr, second, (int)third);
+                       err = sys_msgsnd(first, ptr, (size_t)second,
+                                        (int)third);
                        goto out;
                case MSGRCV:
-                       err = sys_msgrcv(first, ptr, second, fifth,
+                       err = sys_msgrcv(first, ptr, (size_t)second, fifth,
                                         (int)third);
                        goto out;
                case MSGGET:
-                       err = sys_msgget((key_t) first, second);
+                       err = sys_msgget((key_t)first, (int)second);
                        goto out;
                case MSGCTL:
-                       err = sys_msgctl(first, second | IPC_64, ptr);
+                       err = sys_msgctl(first, (int)second | IPC_64, ptr);
                        goto out;
                default:
                        err = -ENOSYS;
@@ -259,7 +262,7 @@ asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long
                switch (call) {
                case SHMAT: {
                        ulong raddr;
-                       err = do_shmat(first, ptr, second, &raddr);
+                       err = do_shmat(first, ptr, (int)second, &raddr);
                        if (!err) {
                                if (put_user(raddr,
                                             (ulong __user *) third))
@@ -271,10 +274,10 @@ asmlinkage long sys_ipc(unsigned int call, int first, int second, unsigned long
                        err = sys_shmdt(ptr);
                        goto out;
                case SHMGET:
-                       err = sys_shmget(first, second, (int)third);
+                       err = sys_shmget(first, (size_t)second, (int)third);
                        goto out;
                case SHMCTL:
-                       err = sys_shmctl(first, second | IPC_64, ptr);
+                       err = sys_shmctl(first, (int)second | IPC_64, ptr);
                        goto out;
                default:
                        err = -ENOSYS;