Skip to content

Commit

Permalink
parisc: switch to saner kernel_execve() semantics
Browse files Browse the repository at this point in the history
ACKed-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Oct 22, 2012
1 parent ff0ab8a commit 363806d
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 20 deletions.
1 change: 1 addition & 0 deletions arch/parisc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ config PARISC
select HAVE_MOD_ARCH_SPECIFIC
select MODULES_USE_ELF_RELA
select GENERIC_KERNEL_THREAD
select GENERIC_KERNEL_EXECVE

help
The PA-RISC microprocessor is designed by Hewlett-Packard and used
Expand Down
1 change: 0 additions & 1 deletion arch/parisc/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,6 @@ 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
#define __ARCH_WANT_SYS_EXECVE

#endif /* __ASSEMBLY__ */
Expand Down
22 changes: 3 additions & 19 deletions arch/parisc/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -727,26 +727,10 @@ ENTRY(ret_from_kernel_thread)
LDREG TASK_PT_GR26(%r1), %r1
ble 0(%sr7, %r1)
copy %r31, %r2

#ifdef CONFIG_64BIT
ldo -16(%r30),%r29 /* Reference param save area */
loadgp /* Thread could have been in a module */
#endif
#ifndef CONFIG_64BIT
b sys_exit
#else
load32 sys_exit, %r1
bv %r0(%r1)
#endif
ldi 0, %r26
b finish_child_return
nop
ENDPROC(ret_from_kernel_thread)

ENTRY(ret_from_kernel_execve)
mfctl %cr30, %r1
b syscall_exit /* forward */
ldo THREAD_SZ_ALGN+FRAME_SIZE(%r1), %r30
ENDPROC(ret_from_kernel_execve)


/*
* struct task_struct *_switch_to(struct task_struct *prev,
Expand Down Expand Up @@ -1721,7 +1705,7 @@ ENDPROC(sys_fork_wrapper)
ENTRY(child_return)
BL schedule_tail, %r2
nop

finish_child_return:
LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30), %r1
ldo TASK_REGS(%r1),%r1 /* get pt regs */

Expand Down

0 comments on commit 363806d

Please sign in to comment.