Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5522be6a authored by Al Viro's avatar Al Viro
Browse files

alpha: switch to saner kernel_execve() semantics



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 9fff2fa0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ config ALPHA
	select GENERIC_STRNCPY_FROM_USER
	select GENERIC_STRNLEN_USER
	select GENERIC_KERNEL_THREAD
	select GENERIC_KERNEL_EXECVE
	help
	  The Alpha is a 64-bit general-purpose processor designed and
	  marketed by the Digital Equipment Corporation of blessed memory,
+0 −1
Original line number Diff line number Diff line
@@ -482,7 +482,6 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_KERNEL_EXECVE

/* "Conditional" syscalls.  What we want is

+1 −16
Original line number Diff line number Diff line
@@ -603,24 +603,9 @@ ret_from_kernel_thread:
	mov	$9, $27
	mov	$10, $16
	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 */
	br	$31, ret_to_user

.end	ret_from_kernel_execve
.end ret_from_kernel_thread


/*