diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-31 15:48:05 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-30 23:35:51 -0400 |
commit | be6abfa769fa07ce89ac73273360b335ae978805 (patch) | |
tree | e6b9ba23767a93839c5e4e14f197d4781bf95cf4 /arch/powerpc/kernel/entry_64.S | |
parent | 58254e1002a82eb383c5977ad9fd5a451b91fe29 (diff) |
powerpc: switch to generic sys_execve()/kernel_execve()
the only non-obvious part is that current_pt_regs() is really needed
here - task_pt_regs() is NULL for kernel threads; it's OK for ptrace
uses (the thing task_pt_regs() is intended for), but not for us.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/powerpc/kernel/entry_64.S')
-rw-r--r-- | arch/powerpc/kernel/entry_64.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index d7f4fafc7515..1ca3d9fa48c4 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S | |||
@@ -380,6 +380,12 @@ _GLOBAL(ret_from_kernel_thread) | |||
380 | li r3,0 | 380 | li r3,0 |
381 | b .do_exit # no return | 381 | b .do_exit # no return |
382 | 382 | ||
383 | _GLOBAL(__ret_from_kernel_execve) | ||
384 | addi r1,r3,-STACK_FRAME_OVERHEAD | ||
385 | li r10,1 | ||
386 | std r10,SOFTE(r1) | ||
387 | b syscall_exit | ||
388 | |||
383 | .section ".toc","aw" | 389 | .section ".toc","aw" |
384 | DSCR_DEFAULT: | 390 | DSCR_DEFAULT: |
385 | .tc dscr_default[TC],dscr_default | 391 | .tc dscr_default[TC],dscr_default |