alpha: switch to saner kernel_execve() semantics
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
9fff2fa0db
commit
5522be6a46
|
@ -21,6 +21,7 @@ config ALPHA
|
||||||
select GENERIC_STRNCPY_FROM_USER
|
select GENERIC_STRNCPY_FROM_USER
|
||||||
select GENERIC_STRNLEN_USER
|
select GENERIC_STRNLEN_USER
|
||||||
select GENERIC_KERNEL_THREAD
|
select GENERIC_KERNEL_THREAD
|
||||||
|
select GENERIC_KERNEL_EXECVE
|
||||||
help
|
help
|
||||||
The Alpha is a 64-bit general-purpose processor designed and
|
The Alpha is a 64-bit general-purpose processor designed and
|
||||||
marketed by the Digital Equipment Corporation of blessed memory,
|
marketed by the Digital Equipment Corporation of blessed memory,
|
||||||
|
|
|
@ -482,7 +482,6 @@
|
||||||
#define __ARCH_WANT_SYS_SIGPENDING
|
#define __ARCH_WANT_SYS_SIGPENDING
|
||||||
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
|
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
|
||||||
#define __ARCH_WANT_SYS_EXECVE
|
#define __ARCH_WANT_SYS_EXECVE
|
||||||
#define __ARCH_WANT_KERNEL_EXECVE
|
|
||||||
|
|
||||||
/* "Conditional" syscalls. What we want is
|
/* "Conditional" syscalls. What we want is
|
||||||
|
|
||||||
|
|
|
@ -603,24 +603,9 @@ ret_from_kernel_thread:
|
||||||
mov $9, $27
|
mov $9, $27
|
||||||
mov $10, $16
|
mov $10, $16
|
||||||
jsr $26, ($9)
|
jsr $26, ($9)
|
||||||
ldgp $gp, 0($26)
|
|
||||||
mov $0, $16
|
|
||||||
mov $31, $26
|
|
||||||
jmp $31, sys_exit
|
|
||||||
.end ret_from_kernel_thread
|
|
||||||
|
|
||||||
.globl ret_from_kernel_execve
|
|
||||||
.align 4
|
|
||||||
.ent ret_from_kernel_execve
|
|
||||||
ret_from_kernel_execve:
|
|
||||||
mov $16, $sp
|
|
||||||
/* Avoid the HAE being gratuitously wrong, to avoid restoring it. */
|
|
||||||
ldq $2, alpha_mv+HAE_CACHE
|
|
||||||
stq $2, 152($sp) /* HAE */
|
|
||||||
mov $31, $19 /* to disable syscall restarts */
|
mov $31, $19 /* to disable syscall restarts */
|
||||||
br $31, ret_to_user
|
br $31, ret_to_user
|
||||||
|
.end ret_from_kernel_thread
|
||||||
.end ret_from_kernel_execve
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue