[PATCH 13/16] UML - Remove mm_indirect reference in modify_ldt

From: Jeff Dike
Date: Mon Mar 07 2005 - 13:19:10 EST


Spotted by Al Viro, there was some bogosity in the UML/x86_64 modify_ltd.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>

Index: linux-2.6.11/arch/um/sys-x86_64/syscalls.c
===================================================================
--- linux-2.6.11.orig/arch/um/sys-x86_64/syscalls.c 2005-03-05 12:07:31.000000000 -0500
+++ linux-2.6.11/arch/um/sys-x86_64/syscalls.c 2005-03-05 12:21:27.000000000 -0500
@@ -36,15 +36,11 @@
#endif

#ifdef CONFIG_MODE_SKAS
-extern int userspace_pid;
-
-#ifndef __NR_mm_indirect
-#define __NR_mm_indirect 241
-#endif
+extern int userspace_pid[];

long sys_modify_ldt_skas(int func, void *ptr, unsigned long bytecount)
{
- unsigned long args[6];
+ struct ptrace_ldt ldt;
void *buf;
int res, n;

@@ -66,12 +62,11 @@
goto out;
}

- args[0] = func;
- args[1] = (unsigned long) buf;
- args[2] = bytecount;
- res = syscall(__NR_mm_indirect, &current->mm->context.u,
- __NR_modify_ldt, args);
-
+ ldt = ((struct ptrace_ldt) { .func = func,
+ .ptr = buf,
+ .bytecount = bytecount });
+#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;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/