vserver 2.0 rc7
[linux-2.6.git] / arch / um / sys-i386 / ldt.c
index e97b988..dc755b0 100644 (file)
@@ -17,7 +17,7 @@ extern int modify_ldt(int func, void *ptr, unsigned long bytecount);
 
 int sys_modify_ldt_tt(int func, void __user *ptr, unsigned long bytecount)
 {
-       if (verify_area(VERIFY_READ, ptr, bytecount))
+       if (!access_ok(VERIFY_READ, ptr, bytecount))
                return -EFAULT;
 
        return modify_ldt(func, ptr, bytecount);
@@ -25,7 +25,7 @@ int sys_modify_ldt_tt(int func, void __user *ptr, unsigned long bytecount)
 #endif
 
 #ifdef CONFIG_MODE_SKAS
-extern int userspace_pid;
+extern int userspace_pid[];
 
 #include "skas_ptrace.h"
 
@@ -56,7 +56,8 @@ int sys_modify_ldt_skas(int func, void __user *ptr, unsigned long bytecount)
        ldt = ((struct ptrace_ldt) { .func      = func,
                                     .ptr       = buf,
                                     .bytecount = bytecount });
-       res = ptrace(PTRACE_LDT, userspace_pid, 0, (unsigned long) &ldt);
+#warning Need to look up userspace_pid by cpu
+       res = ptrace(PTRACE_LDT, userspace_pid[0], 0, (unsigned long) &ldt);
        if(res < 0)
                goto out;