提交 4e5ed85a 编写于 作者: A Al Viro

parisc: switch to generic kernel_execve()

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 a44e060f
......@@ -995,6 +995,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
#define __ARCH_WANT_SYS_RT_SIGACTION
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_KERNEL_EXECVE
#endif /* __ASSEMBLY__ */
......
......@@ -741,28 +741,12 @@ ENTRY(ret_from_kernel_thread)
ldi 0, %r26
ENDPROC(ret_from_kernel_thread)
.import sys_execve, code
ENTRY(__execve)
copy %r2, %r15
copy %r30, %r16
ldo PT_SZ_ALGN(%r30), %r30
STREG %r26, PT_GR26(%r16)
STREG %r25, PT_GR25(%r16)
STREG %r24, PT_GR24(%r16)
#ifdef CONFIG_64BIT
ldo -16(%r30),%r29 /* Reference param save area */
#endif
BL sys_execve, %r2
copy %r16, %r26
cmpib,=,n 0,%r28,intr_return /* forward */
/* yes, this will trap and die. */
copy %r15, %r2
copy %r16, %r30
bv %r0(%r2)
nop
ENDPROC(__execve)
ENTRY(ret_from_kernel_execve)
mfctl %cr30, %r1
ldo THREAD_SZ_ALGN(%r1), %r30
b intr_return /* forward */
copy %r26,%r16 /* pt_regs into r16 */
ENDPROC(ret_from_kernel_execve)
/*
......
......@@ -337,16 +337,6 @@ asmlinkage int sys_execve(struct pt_regs *regs)
return error;
}
extern int __execve(const char *filename,
const char *const argv[],
const char *const envp[], struct task_struct *task);
int kernel_execve(const char *filename,
const char *const argv[],
const char *const envp[])
{
return __execve(filename, argv, envp, current);
}
unsigned long
get_wchan(struct task_struct *p)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册