]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/um/kernel/syscall.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6-omap-h63xx.git] / arch / um / kernel / syscall.c
index abf14aaf905ffb2fda7789ccbfab5779122f91e8..237c4eab7cfd6c429a6ca8831a6a681671a3ddd6 100644 (file)
@@ -18,7 +18,6 @@
 #include "asm/mman.h"
 #include "asm/uaccess.h"
 #include "kern_util.h"
-#include "user_util.h"
 #include "sysdep/syscalls.h"
 #include "mode_kern.h"
 #include "choose-mode.h"
@@ -149,18 +148,15 @@ long sys_olduname(struct oldold_utsname __user * name)
        return error;
 }
 
-DEFINE_SPINLOCK(syscall_lock);
-
-static int syscall_index = 0;
-
-int next_syscall_index(int limit)
+int kernel_execve(const char *filename, char *const argv[], char *const envp[])
 {
+       mm_segment_t fs;
        int ret;
 
-       spin_lock(&syscall_lock);
-       ret = syscall_index;
-       if(++syscall_index == limit)
-               syscall_index = 0;
-       spin_unlock(&syscall_lock);
-       return(ret);
+       fs = get_fs();
+       set_fs(KERNEL_DS);
+       ret = um_execve(filename, argv, envp);
+       set_fs(fs);
+
+       return ret;
 }