m68k: switch to generic sys_execve()/kernel_execve()
authorAl Viro <viro@zeniv.linux.org.uk>
Sun, 16 Sep 2012 16:06:34 +0000 (12:06 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 1 Oct 2012 04:44:44 +0000 (00:44 -0400)
commitd878d6dacee2c862f02da20f7fa3e2c0e8820e71
treec594e7cc3d49e2af55f6fe9706a2fc618dc3f150
parent533e6903bea0440816a0f517b0845ccea4cc7917
m68k: switch to generic sys_execve()/kernel_execve()

The tricky part here is that task_pt_regs() on m68k works *only* for
process inside do_signal().  However, we need something much simpler -
pt_regs of a process inside do_signal() may be at different offsets
from the stack bottom, depending on the way we'd entered the kernel,
but for a task inside sys_execve() it *is* at constant offset.
Moreover, for a kernel thread about to become a userland process the
same location is also fine - setting sp to that will leave the kernel
stack pointer at the very bottom of the kernel stack when we finally
switch to userland.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/m68k/include/asm/ptrace.h
arch/m68k/include/asm/unistd.h
arch/m68k/kernel/entry.S
arch/m68k/kernel/process.c
arch/m68k/kernel/sys_m68k.c