sparc64: convert to generic execve

We still have wrappers, but nowhere near as scary as they used to be.
I'm not sure how necessary that flushw is now, TBH...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro
2012-09-26 19:44:26 -04:00
parent 2f12af35a9
commit eb48ffcf0e
6 changed files with 12 additions and 71 deletions

View File

@@ -396,35 +396,6 @@ asmlinkage long compat_sys_rt_sigaction(int sig,
return ret;
}
/*
* sparc32_execve() executes a new program after the asm stub has set
* things up for us. This should basically do what I want it to.
*/
asmlinkage long sparc32_execve(struct pt_regs *regs)
{
int error, base = 0;
struct filename *filename;
/* User register window flush is done by entry.S */
/* Check for indirect call. */
if ((u32)regs->u_regs[UREG_G1] == 0)
base = 1;
filename = getname(compat_ptr(regs->u_regs[base + UREG_I0]));
error = PTR_ERR(filename);
if (IS_ERR(filename))
goto out;
error = compat_do_execve(filename->name,
compat_ptr(regs->u_regs[base + UREG_I1]),
compat_ptr(regs->u_regs[base + UREG_I2]), regs);
putname(filename);
out:
return error;
}
#ifdef CONFIG_MODULES
asmlinkage long sys32_init_module(void __user *umod, u32 len,