Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xtensa: switch to generic sys_execve()

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Chris Zankel <chris@zankel.net>

authored by

Max Filippov and committed by
Chris Zankel
dc241f2c f0a1bf08

+3 -27
+1 -1
arch/xtensa/include/asm/syscall.h
··· 10 10 11 11 struct pt_regs; 12 12 struct sigaction; 13 - asmlinkage long xtensa_execve(char*, char**, char**, struct pt_regs*); 13 + asmlinkage long sys_execve(char*, char**, char**, struct pt_regs*); 14 14 asmlinkage long xtensa_clone(unsigned long, unsigned long, struct pt_regs*); 15 15 asmlinkage long xtensa_ptrace(long, long, long, long); 16 16 asmlinkage long xtensa_sigreturn(struct pt_regs*);
+1
arch/xtensa/include/asm/unistd.h
··· 1 1 #ifndef _XTENSA_UNISTD_H 2 2 #define _XTENSA_UNISTD_H 3 3 4 + #define __ARCH_WANT_SYS_EXECVE 4 5 #include <uapi/asm/unistd.h> 5 6 6 7 /*
+1 -1
arch/xtensa/include/uapi/asm/unistd.h
··· 262 262 #define __NR_clone 116 263 263 __SYSCALL(116, xtensa_clone, 5) 264 264 #define __NR_execve 117 265 - __SYSCALL(117, xtensa_execve, 3) 265 + __SYSCALL(117, sys_execve, 3) 266 266 #define __NR_exit 118 267 267 __SYSCALL(118, sys_exit, 1) 268 268 #define __NR_exit_group 119
-25
arch/xtensa/kernel/process.c
··· 373 373 { 374 374 return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid); 375 375 } 376 - 377 - /* 378 - * xtensa_execve() executes a new program. 379 - */ 380 - 381 - asmlinkage 382 - long xtensa_execve(const char __user *name, 383 - const char __user *const __user *argv, 384 - const char __user *const __user *envp, 385 - long a3, long a4, long a5, 386 - struct pt_regs *regs) 387 - { 388 - long error; 389 - struct filename *filename; 390 - 391 - filename = getname(name); 392 - error = PTR_ERR(filename); 393 - if (IS_ERR(filename)) 394 - goto out; 395 - error = do_execve(filename->name, argv, envp, regs); 396 - putname(filename); 397 - out: 398 - return error; 399 - } 400 -