 1e5d0fdb5b
			
		
	
	
	1e5d0fdb5b
	
	
	
		
			
			Wire up sys_execveat(). This passes the selftests for the system call. Check success of execveat(3, '../execveat', 0)... [OK] Check success of execveat(5, 'execveat', 0)... [OK] Check success of execveat(6, 'execveat', 0)... [OK] Check success of execveat(-100, '/home/pranith/linux/...ftests/exec/execveat', 0)... [OK] Check success of execveat(99, '/home/pranith/linux/...ftests/exec/execveat', 0)... [OK] Check success of execveat(8, '', 4096)... [OK] Check success of execveat(17, '', 4096)... [OK] Check success of execveat(9, '', 4096)... [OK] Check success of execveat(14, '', 4096)... [OK] Check success of execveat(14, '', 4096)... [OK] Check success of execveat(15, '', 4096)... [OK] Check failure of execveat(8, '', 0) with ENOENT... [OK] Check failure of execveat(8, '(null)', 4096) with EFAULT... [OK] Check success of execveat(5, 'execveat.symlink', 0)... [OK] Check success of execveat(6, 'execveat.symlink', 0)... [OK] Check success of execveat(-100, '/home/pranith/linux/...xec/execveat.symlink', 0)... [OK] Check success of execveat(10, '', 4096)... [OK] Check success of execveat(10, '', 4352)... [OK] Check failure of execveat(5, 'execveat.symlink', 256) with ELOOP... [OK] Check failure of execveat(6, 'execveat.symlink', 256) with ELOOP... [OK] Check failure of execveat(-100, '/home/pranith/linux/tools/testing/selftests/exec/execveat.symlink', 256) with ELOOP... [OK] Check success of execveat(3, '../script', 0)... [OK] Check success of execveat(5, 'script', 0)... [OK] Check success of execveat(6, 'script', 0)... [OK] Check success of execveat(-100, '/home/pranith/linux/...elftests/exec/script', 0)... [OK] Check success of execveat(13, '', 4096)... [OK] Check success of execveat(13, '', 4352)... [OK] Check failure of execveat(18, '', 4096) with ENOENT... [OK] Check failure of execveat(7, 'script', 0) with ENOENT... [OK] Check success of execveat(16, '', 4096)... [OK] Check success of execveat(16, '', 4096)... [OK] Check success of execveat(4, '../script', 0)... [OK] Check success of execveat(4, 'script', 0)... [OK] Check success of execveat(4, '../script', 0)... [OK] Check failure of execveat(4, 'script', 0) with ENOENT... [OK] Check failure of execveat(5, 'execveat', 65535) with EINVAL... [OK] Check failure of execveat(5, 'no-such-file', 0) with ENOENT... [OK] Check failure of execveat(6, 'no-such-file', 0) with ENOENT... [OK] Check failure of execveat(-100, 'no-such-file', 0) with ENOENT... [OK] Check failure of execveat(5, '', 4096) with EACCES... [OK] Check failure of execveat(5, 'Makefile', 0) with EACCES... [OK] Check failure of execveat(11, '', 4096) with EACCES... [OK] Check failure of execveat(12, '', 4096) with EACCES... [OK] Check failure of execveat(99, '', 4096) with EBADF... [OK] Check failure of execveat(99, 'execveat', 0) with EBADF... [OK] Check failure of execveat(8, 'execveat', 0) with ENOTDIR... [OK] Invoke copy of 'execveat' via filename of length 4093: Check success of execveat(19, '', 4096)... [OK] Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK] Invoke copy of 'script' via filename of length 4093: Check success of execveat(20, '', 4096)... [OK] /bin/sh: 0: Can't open /dev/fd/5/xxxxxxx(... a long line of x's and y's, 0)... [OK] Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK] Tested on a 32-bit powerpc system. Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * This file contains the system call numbers.
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU General Public License
 | |
|  * as published by the Free Software Foundation; either version
 | |
|  * 2 of the License, or (at your option) any later version.
 | |
|  */
 | |
| #ifndef _ASM_POWERPC_UNISTD_H_
 | |
| #define _ASM_POWERPC_UNISTD_H_
 | |
| 
 | |
| #include <uapi/asm/unistd.h>
 | |
| 
 | |
| 
 | |
| #define __NR_syscalls		363
 | |
| 
 | |
| #define __NR__exit __NR_exit
 | |
| #define NR_syscalls	__NR_syscalls
 | |
| 
 | |
| #ifndef __ASSEMBLY__
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/compiler.h>
 | |
| #include <linux/linkage.h>
 | |
| 
 | |
| #define __ARCH_WANT_OLD_READDIR
 | |
| #define __ARCH_WANT_STAT64
 | |
| #define __ARCH_WANT_SYS_ALARM
 | |
| #define __ARCH_WANT_SYS_GETHOSTNAME
 | |
| #define __ARCH_WANT_SYS_IPC
 | |
| #define __ARCH_WANT_SYS_PAUSE
 | |
| #define __ARCH_WANT_SYS_SIGNAL
 | |
| #define __ARCH_WANT_SYS_TIME
 | |
| #define __ARCH_WANT_SYS_UTIME
 | |
| #define __ARCH_WANT_SYS_WAITPID
 | |
| #define __ARCH_WANT_SYS_SOCKETCALL
 | |
| #define __ARCH_WANT_SYS_FADVISE64
 | |
| #define __ARCH_WANT_SYS_GETPGRP
 | |
| #define __ARCH_WANT_SYS_LLSEEK
 | |
| #define __ARCH_WANT_SYS_NICE
 | |
| #define __ARCH_WANT_SYS_OLD_GETRLIMIT
 | |
| #define __ARCH_WANT_SYS_OLD_UNAME
 | |
| #define __ARCH_WANT_SYS_OLDUMOUNT
 | |
| #define __ARCH_WANT_SYS_SIGPENDING
 | |
| #define __ARCH_WANT_SYS_SIGPROCMASK
 | |
| #ifdef CONFIG_PPC32
 | |
| #define __ARCH_WANT_OLD_STAT
 | |
| #endif
 | |
| #ifdef CONFIG_PPC64
 | |
| #define __ARCH_WANT_COMPAT_SYS_TIME
 | |
| #define __ARCH_WANT_SYS_NEWFSTATAT
 | |
| #define __ARCH_WANT_COMPAT_SYS_SENDFILE
 | |
| #endif
 | |
| #define __ARCH_WANT_SYS_FORK
 | |
| #define __ARCH_WANT_SYS_VFORK
 | |
| #define __ARCH_WANT_SYS_CLONE
 | |
| 
 | |
| #endif		/* __ASSEMBLY__ */
 | |
| #endif /* _ASM_POWERPC_UNISTD_H_ */
 |