tile: switch to generic sys_execve()

Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2012-10-20 13:14:08 -04:00
parent 0f8b983812
commit 530550651f
8 changed files with 5 additions and 49 deletions
-45
View File
@@ -594,51 +594,6 @@ SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,
parent_tidptr, child_tidptr);
}
/*
* sys_execve() executes a new program.
*/
SYSCALL_DEFINE4(execve, const char __user *, path,
const char __user *const __user *, argv,
const char __user *const __user *, envp,
struct pt_regs *, regs)
{
long error;
struct filename *filename;
filename = getname(path);
error = PTR_ERR(filename);
if (IS_ERR(filename))
goto out;
error = do_execve(filename->name, argv, envp, regs);
putname(filename);
if (error == 0)
single_step_execve();
out:
return error;
}
#ifdef CONFIG_COMPAT
long compat_sys_execve(const char __user *path,
compat_uptr_t __user *argv,
compat_uptr_t __user *envp)
{
long error;
struct filename *filename;
filename = getname(path);
error = PTR_ERR(filename);
if (IS_ERR(filename))
goto out;
error = compat_do_execve(filename->name, argv, envp,
current_pt_regs());
putname(filename);
if (error == 0)
single_step_execve();
out:
return error;
}
#endif
unsigned long get_wchan(struct task_struct *p)
{
struct KBacktraceIterator kbt;