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

Commit 6a872777 authored by Catalin Marinas's avatar Catalin Marinas
Browse files

arm64: Use generic sys_execve() implementation



This patch converts the arm64 port to use the generic sys_execve()
implementation removing the arm64-specific (compat_)sys_execve_wrapper()
functions.

Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 59dc67b0
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -23,9 +23,6 @@
/*
 * System call wrappers implemented in kernel/entry.S.
 */
asmlinkage long sys_execve_wrapper(const char __user *filename,
				   const char __user *const __user *argv,
				   const char __user *const __user *envp);
asmlinkage long sys_clone_wrapper(unsigned long clone_flags,
				  unsigned long newsp,
				  void __user *parent_tid,
+1 −0
Original line number Diff line number Diff line
@@ -26,4 +26,5 @@
#define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
#endif
#define __ARCH_WANT_SYS_EXECVE
#include <uapi/asm/unistd.h>
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ __SYSCALL(7, sys_ni_syscall) /* 7 was sys_waitpid */
__SYSCALL(8,   sys_creat)
__SYSCALL(9,   sys_link)
__SYSCALL(10,  sys_unlink)
__SYSCALL(11,  compat_sys_execve_wrapper)
__SYSCALL(11,  compat_sys_execve)
__SYSCALL(12,  sys_chdir)
__SYSCALL(13,  sys_ni_syscall)			/* 13 was sys_time */
__SYSCALL(14,  sys_mknod)
+0 −5
Original line number Diff line number Diff line
@@ -676,11 +676,6 @@ __sys_trace_return:
/*
 * Special system call wrappers.
 */
ENTRY(sys_execve_wrapper)
	mov	x3, sp
	b	sys_execve
ENDPROC(sys_execve_wrapper)

ENTRY(sys_clone_wrapper)
	mov	x5, sp
	b	sys_clone
+0 −22
Original line number Diff line number Diff line
@@ -41,27 +41,6 @@ asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp,
	return do_fork(clone_flags, newsp, regs, 0, parent_tidptr, child_tidptr);
}

/*
 * sys_execve() executes a new program.
 */
asmlinkage long sys_execve(const char __user *filenamei,
			   const char __user *const __user *argv,
			   const char __user *const __user *envp,
			   struct pt_regs *regs)
{
	long error;
	struct filename *filename;

	filename = getname(filenamei);
	error = PTR_ERR(filename);
	if (IS_ERR(filename))
		goto out;
	error = do_execve(filename->name, argv, envp, regs);
	putname(filename);
out:
	return error;
}

asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
			 unsigned long prot, unsigned long flags,
			 unsigned long fd, off_t off)
@@ -75,7 +54,6 @@ asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
/*
 * Wrappers to pass the pt_regs argument.
 */
#define sys_execve		sys_execve_wrapper
#define sys_clone		sys_clone_wrapper
#define sys_rt_sigreturn	sys_rt_sigreturn_wrapper
#define sys_sigaltstack		sys_sigaltstack_wrapper
Loading