vserver 1.9.3
[linux-2.6.git] / arch / mips / kernel / sysirix.c
index 8aa6e23..15272d8 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/socket.h>
 #include <linux/security.h>
 #include <linux/syscalls.h>
+#include <linux/vs_cvirt.h>
 
 #include <asm/ptrace.h>
 #include <asm/page.h>
@@ -235,7 +236,7 @@ asmlinkage int irix_prctl(struct pt_regs *regs)
 #undef DEBUG_PROCGRPS
 
 extern unsigned long irix_mapelf(int fd, struct elf_phdr *user_phdrp, int cnt);
-extern int getrusage(struct task_struct *p, int who, struct rusage *ru);
+extern int getrusage(struct task_struct *p, int who, struct rusage __user *ru);
 extern char *prom_getenv(char *name);
 extern long prom_setenv(char *name, char *value);
 
@@ -811,8 +812,8 @@ asmlinkage int irix_times(struct tms * tbuf)
                        return err;
                err |= __put_user(current->utime, &tbuf->tms_utime);
                err |= __put_user(current->stime, &tbuf->tms_stime);
-               err |= __put_user(current->cutime, &tbuf->tms_cutime);
-               err |= __put_user(current->cstime, &tbuf->tms_cstime);
+               err |= __put_user(current->signal->cutime, &tbuf->tms_cutime);
+               err |= __put_user(current->signal->cstime, &tbuf->tms_cstime);
        }
 
        return err;
@@ -1640,7 +1641,7 @@ asmlinkage int irix_statvfs64(char *fname, struct irix_statvfs64 *buf)
 
        printk("[%s:%d] Wheee.. irix_statvfs(%s,%p)\n",
               current->comm, current->pid, fname, buf);
-       error = verify_area(VERIFY_WRITE, buf, sizeof(struct irix_statvfs));
+       error = verify_area(VERIFY_WRITE, buf, sizeof(struct irix_statvfs64));
        if(error)
                goto out;
        error = user_path_walk(fname, &nd);