1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "../../memcheck.h" 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include "scalar.h" 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <unistd.h> 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <sched.h> 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <signal.h> 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <sys/shm.h> 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// See memcheck/tests/x86-linux/scalar.c for an explanation of what this test 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// is doing. 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(void) 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // uninitialised, but we know px[0] is 0x0 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown long* px = malloc(sizeof(long)); 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown long x0 = px[0]; 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown long res; 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown VALGRIND_MAKE_MEM_NOACCESS(0, 0x1000); 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_syscall 0 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_exit, 1, "below"); 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (see below) 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fork, 2, "other"); 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (sse scalar_fork.c) 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Nb: here we are also getting an error from the syscall arg itself. 30ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_read, 3, "1+3s 1m"); 31ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_read+(int)x0, x0, x0, x0+1); FAILx(EFAULT); 32ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 33ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_write, 4, "3s 1m"); 34ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_write, x0, x0, x0+1); FAIL; 35ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //res = write(x0, x0, x0+1); FAIL; 36ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 37ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_open, 5, "(2-args) 2s 1m"); 38ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_open, x0, x0); FAIL; 39ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Only 1s 0m errors -- the other 2s 1m have been checked in the previous 40ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // open test, and if we test them they may be commoned up but they also 41ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // may not. 42ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_open, 5, "(3-args) 1s 0m"); 43ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_open, "scalar.c", O_CREAT|O_EXCL, x0); FAIL; 44ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 45ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_close, 6, "1s 0m"); 46ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_close, x0-1); FAIL; 47ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 48ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_wait4, 7, "4s 2m"); 49ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_wait4, x0, x0+1, x0, x0+1); FAIL; 50ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 51ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(8, "old creat"); 52ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 53ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_link, 9, "2s 2m"); 54ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_link, x0, x0); FAIL; 55ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 56ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_unlink, 10, "1s 1m"); 57ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_unlink, x0); FAIL; 58ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 59ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(11, "old execv"); 60ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 61ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_chdir, 12, "1s 1m"); 62ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_chdir, x0); FAIL; 63ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 64ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fchdir, 13, "1s 0m"); 65ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fchdir, x0-1); FAIL; 66ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 67ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mknod, 14, "3s 1m"); 68ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mknod, x0, x0, x0); FAIL; 69ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 70ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_chmod, 15, "2s 1m"); 71ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_chmod, x0, x0); FAIL; 72ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 73ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_chown, 16, "3s 1m"); 74ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_chown, x0, x0, x0); FAIL; 75ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 76ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(17, "old break"); 77ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 78ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getfsstat, 18, "3s 1m"); 79ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getfsstat, x0+1, x0+1, x0); SUCC; // This should fail... 80ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 81ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(19, "old lseek"); 82ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 83ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpid 20 84ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 85ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(21, "old mount"); 86ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 87ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(22, "old umount"); 88ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 89ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setuid 23 90ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getuid 24 91ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_geteuid 25 92ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ptrace 26 93ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_recvmsg 27 94ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sendmsg 28 95ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_recvfrom 29 96ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_accept 30 97ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpeername 31 98ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getsockname 32 99ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_access 33 100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chflags 34 101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchflags 35 102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sync 36 103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kill 37 104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(38, "old stat"); 106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getppid 39 108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(40, "old lstat"); 110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_dup 41 112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pipe VG_DARWIN_SYSCALL_CONSTRUCT_UX64(42 113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getegid 43 114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_profil 44 115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(45, "old ktrace"); 117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigaction 46 119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgid 47 120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigprocmask 48 121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getlogin 49 122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setlogin 50 123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_acct 51 124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigpending 52 125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigaltstack 53 126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ioctl 54 127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_reboot 55 128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_revoke 56 129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_symlink 57 130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readlink 58 131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_execve 59 132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_umask 60 133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chroot 61 134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(62, "old fstat"); 136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(63, "used internally, reserved"); 138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(64, "old getpagesize"); 140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msync 65 142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vfork 66 143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(67, "old vread"); 145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(68, "old vwrite"); 147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(69, "old sbrk"); 149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(70, "old sstk"); 151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(71, "old mmap"); 153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(72, "old vadvise"); 155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munmap 73 157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mprotect 74 158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_madvise 75 159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(76, "old vhangup"); 161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(77, "old vlimit"); 163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mincore, 78, "3s 1m"); 165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mincore, x0, x0+40960, x0); FAIL; 166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgroups 79 168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgroups 80 169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpgrp 81 170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setpgid, 82, "2s 0m"); 172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setpgid, x0-1, x0-1); FAIL; 173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setitimer 83 175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(78, "old wait"); 177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_swapon 85 179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getitimer 86 180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(87, "old gethostname"); 182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(88, "old sethostname"); 184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdtablesize 89 186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_dup2 90 187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(91, "old getdopt"); 189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fcntl 92 191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_select 93 192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(94, "old setdopt"); 194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fsync 95 196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setpriority 96 197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_socket 97 198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_connect 98 199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(99, "old accept"); 201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpriority 100 203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(101, "old send"); 205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(102, "old recv"); 207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(103, "old sigreturn"); 209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_bind 104 211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setsockopt, 105, "5s 1m"); 213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setsockopt, x0, x0, x0, x0+1, x0+1); FAIL; 214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_listen 106 216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(107, "old vtimes"); 218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(108, "old sigvec"); 220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(109, "old sigblock"); 222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(110, "old sigsetmask"); 224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigsuspend 111 226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(112, "old sigstack"); 228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(113, "old recvmsg"); 230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(114, "old sendmsg"); 232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(115, "old vtrace"); 234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gettimeofday 116 236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getrusage 117 237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Nb: there's no "getsockopt(optlen) points to unaddressable byte(s)"; 239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // difficult to get with arg4 being checked with buf_and_len_pre_check. 240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getsockopt, 118, "5s 1m"); 241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getsockopt, x0, x0, x0, x0+1, x0+&px[1]); FAIL; 242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(119, "old resuba"); 244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readv 120 246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_writev 121 247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_settimeofday 122 248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchown 123 249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchmod 124 250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(125, "old recvfrom"); 252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setreuid 126 254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setregid 127 255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rename 128 256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(129, "old truncate"); 258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(130, "old ftruncate"); 260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_flock 131 262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkfifo 132 263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sendto 133 264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shutdown 134 265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_socketpair 135 266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkdir 136 267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rmdir 137 268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_utimes 138 269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_futimes 139 270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_adjtime 140 271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(141, "old getpeername"); 273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gethostuuid 142 275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(143, "old sethostid"); 277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(144, "old getrlimit"); 279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(145, "old setrlimit"); 281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(146, "old killpg"); 283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setsid 147 285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(148, "old setquota"); 287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(149, "old qquota"); 289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(150, "old getsockname"); 291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpgid 151 293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setprivexec 152 294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pread 153 295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pwrite 154 296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_nfssvc 155 297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(156, "old getdirentries"); 299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_statfs 157 301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstatfs 158 302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_unmount 159 303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(160, "old async_daemon"); 305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getfh 161 307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(162, "old getdomainname"); 309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(163, "old setdomainname"); 311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // /* 164 */ 313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_quotactl 165 315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(166, "old exportfs"); 317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mount, 167, "4s 2m"); 319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mount, x0, x0, x0, x0); FAIL; 320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(168, "old ustat"); 322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_csops, 169, "4s 1m"); 324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_csops, x0, x0, x0+1, x0+1); FAILx(EFAULT); 325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(170, "old table"); 327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(171, "old wait3"); 329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(172, "old rpause"); 331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_waitid 173 333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(174, "old getdents"); 335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(175, "old gc_control"); 337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_add_profil 176 339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(177-179, "unused"); 341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kdebug_trace 180 343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgid 181 344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setegid 182 345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_seteuid 183 346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigreturn 184 347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chud 185 348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(186-187, "unused"); 350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stat 188 352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstat 189 353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lstat 190 354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pathconf 191 355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fpathconf 192 356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(193, "unused"); 358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getrlimit 194 360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setrlimit 195 361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdirentries 196 362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mmap 197 363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // /* 198 __syscall */ 365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lseek VG_DARWIN_SYSCALL_CONSTRUCT_UX64(199 367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_truncate 200 368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ftruncate 201 369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___sysctl 202 370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mlock 203 371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munlock 204 372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_undelete 205 373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATsocket 206 374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATgetmsg 207 375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATputmsg 208 376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATPsndreq 209 377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATPsndrsp 210 378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATPgetreq 211 379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ATPgetrsp 212 380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(213, "reserved for AppleTalk"); 382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kqueue_from_portset_np 214 384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kqueue_portset_np 215 385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkcomplex 216 386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_statv 217 387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lstatv 218 388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstatv 219 389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getattrlist 220 390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setattrlist 221 391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdirentriesattr 222 392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_exchangedata, 223, "3s 2m"); 394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_exchangedata, x0, x0, x0); FAIL; 395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // /* 224 checkuseraccess */ 397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_searchfs 225 399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_delete 226 400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_copyfile 227 401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(228-229, "unused"); 403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_poll 230 405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_watchevent 231 406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_waitevent 232 407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_modwatch 233 408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getxattr 234 409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fgetxattr 235 410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setxattr 236 411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fsetxattr 237 412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_removexattr 238 413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fremovexattr 239 414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_listxattr 240 415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_flistxattr 241 416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fsctl 242 417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_initgroups 243 418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_posix_spawn 244 419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(245-246, "unused"); 421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_nfsclnt 247 423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fhopen 248 424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(249, "unused"); 426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_minherit 250 428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_semsys 251 429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msgsys 252 430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shmsys 253 431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_semctl 254 432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_semget 255 433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_semop 256 434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(257, "unused"); 436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msgctl 258 438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msgget 259 439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msgsnd 260 440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msgrcv 261 441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_shmat, 262, "3s 0m"); 443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_shmat, x0, x0, x0); FAIL; 444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_shmctl, 263, "3s 1m"); 446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_shmctl, x0, x0+IPC_STAT, x0+1); FAIL; 447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_shmdt, 264, "1s 0m"); 449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_shmdt, x0); FAIL; 450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_shmget, 265, "3s 0m"); 452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_shmget, x0, x0, x0); FAIL; 453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shm_open 266 455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shm_unlink 267 456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_open, 268, "2s 1m"); 458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_open, x0, x0); FAIL; 459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_open, 268, "(4-args) 2s 0m"); 461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_open, "my_sem", O_CREAT|O_EXCL, x0, x0); SUCC_OR_FAIL; 462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Nb: we add 0x12345 to make sure it's not a valid semaphore descriptor. 464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_close, 269, "1s 0m"); 465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_close, x0+0x12345); FAIL; 466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_unlink, 270, "1s 1m"); 468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_unlink, x0); FAIL; 469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_wait, 271, "1s 0m"); 471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_wait, x0); FAIL; 472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_trywait, 272, "1s 0m"); 474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_trywait, x0); FAIL; 475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_post, 273, "1s 0m"); 477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_post, x0); FAIL; 478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sem_getvalue 274 480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_init, 275, "3s 1m"); 482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_init, x0+1, x0, x0); FAILx(ENOSYS); 483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sem_destroy, 276, "1s 1m"); 485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sem_destroy, x0+1); FAILx(ENOSYS); 486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_open_extended 277 488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_umask_extended 278 489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown size_t one = 1; 492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stat_extended, 279, "4s 4m"); 493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat_extended, x0, x0, x0, x0); FAIL; 494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat_extended, 0, 0, 0, &one); FAIL; 497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lstat_extended, 280, "4s 4m"); 499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat_extended, x0, x0, x0, x0); FAIL; 500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat_extended, 0, 0, 0, &one); FAIL; 503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstat_extended, 280, "4s 3m"); 505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat_extended, x0, x0, x0, x0); FAIL; 506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat_extended, 0, 0, 0, &one); FAIL; 509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chmod_extended 282 512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchmod_extended 283 513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: we don't check the 'results' (too hard, see the wrapper code). If 515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // we did, it would be 2m. 516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_access_extended, 284, "4s 1m"); 517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_access_extended, x0, x0+1, x0, x0); FAIL; 518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_settid 285 520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gettid 286 521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setsgroups 287 522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getsgroups 288 523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setwgroups 289 524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getwgroups 290 525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkfifo_extended 291 526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkdir_extended 292 527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_identitysvc 293 528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shared_region_check_np 294 529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_shared_region_map_np 295 530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(296, "old load_shared_file"); 532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(297, "old reset_shared_file"); 534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(298, "old new_system_shared_regions"); 536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(299, "old shared_region_map_file_np"); 538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(300, "old shared_region_make_private_np"); 540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_mutex_destroy 301 542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_mutex_init 302 543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_mutex_lock 303 544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_mutex_trylock 304 545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_mutex_unlock 305 546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_init 306 547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_destroy 307 548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_broadcast 308 549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_signal 309 550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getsid 310 551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_settid_with_pid 311 552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_timedwait 312 553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_aio_fsync 313 554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_aio_return, 314, "1s 0m"); 556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_aio_return, x0); FAIL; 557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_aio_suspend, 315, "1s 0m"); 559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_aio_suspend, x0, x0+1, x0); FAIL; 560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_aio_cancel 316 562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_aio_error, 317, "1s 0m"); 564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_aio_error, x0); FAIL; 565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_aio_read, 318, "1s 1m"); 567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_aio_read, x0); FAIL; 568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_aio_write, 319, "1s 1m"); 570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_aio_write, x0); FAIL; 571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lio_listio 320 573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_cond_wait 321 574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_iopolicysys 322 575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(323, "unused"); 577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mlockall 324 579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munlockall 325 580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(326, "unused"); 582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_issetugid 327 584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR___pthread_kill, 328, "2s 0m"); 586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR___pthread_kill, x0, x0); FAIL; 587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_sigmask 329 589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___sigwait 330 590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigwait 330) // GrP fixme hack 591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___disable_threadsignal 331 592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_markcancel 332 593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_canceled 333 594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___semwait_signal 334 595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(335, "old utrace"); 597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_proc_info 336 599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sendfile 337 600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stat64 338 601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstat64 339 602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lstat64 340 603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown size_t one = 1; 606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stat64_extended, 341, "4s 4m"); 607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat64_extended, x0, x0, x0, x0); FAIL; 608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat64_extended, 0, 0, 0, &one); FAIL; 611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lstat64_extended, 342, "4s 4m"); 613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat64_extended, x0, x0, x0, x0); FAIL; 614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat64_extended, 0, 0, 0, &one); FAIL; 617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstat64_extended, 342, "4s 3m"); 619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat64_extended, x0, x0, x0, x0); FAIL; 620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Go again to get a complaint about where the 3rd arg points; it 621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // requires the 4th arg to point to a valid value. 622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat64_extended, 0, 0, 0, &one); FAIL; 623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstat64_extended 343 626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdirentries64 344 627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_statfs64 345 628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstatfs64 346 629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getfsstat64, 347, "3s 1m"); 631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getfsstat64, x0+1, x0+1, x0); SUCC; // This should fail... 632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_chdir 348 634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___pthread_fchdir 349 635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_audit 350 636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_auditon 351 637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // /* 352 */ 639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getauid 353 641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setauid 354 642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getaudit 355 643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setaudit 356 644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getaudit_addr 357 645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setaudit_addr 358 646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_auditctl 359 647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_bsdthread_create 360 648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_bsdthread_terminate 361 649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kqueue 362 650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kevent 363 651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lchown 364 652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stack_snapshot 365 653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_bsdthread_register 366 654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_workq_open 367 655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_workq_ops 368 656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO_UNIMP(369-379, "unused"); 658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_execve 380 660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_syscall 381 661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_file 382 662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_set_file 383 663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_link 384 664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_set_link 385 665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_proc 386 666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_set_proc 387 667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_fd 388 668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_set_fd 389 669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_pid 390 670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_lcid 391 671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_lctx 392 672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_set_lctx 393 673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setlcid 394 674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getlcid 395 675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // The nocancel syscalls (396--423) are tested in scalar_nocancel.c. 677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_mount 424 679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_get_mount 425 680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR___mac_getfsstat 426 681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_MAXSYSCALL 427 682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#if 0 684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: all these are copied from x86-linux/scalar.c. 685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_creat 8 687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_creat, "2s 1m"); 688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_creat, x0, x0); FAIL; 689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_execve 11 691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Nb: could have 3 memory errors if we pass x0+1 as the 2nd and 3rd 692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // args, except for bug #93174. 693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_execve, "3s 1m"); 694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_execve, x0, x0, x0); FAIL; 695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_time 13 697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_time, "1s 1m"); 698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_time, x0+1); FAIL; 699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lchown 16 701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lchown, "n/a"); 702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_lchown); // (Not yet handled by Valgrind) FAIL; 703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_break 17 705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_break, "ni"); 706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_break); FAIL; 707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_oldstat 18 709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_oldstat, "n/a"); 710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (obsolete, not handled by Valgrind) 711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lseek 19 713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lseek, "3s 0m"); 714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lseek, x0-1, x0, x0); FAILx(EBADF); 715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpid 20 717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getpid, "0s 0m"); 718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getpid); SUCC; 719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mount 21 721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mount, "5s 3m"); 722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mount, x0, x0, x0, x0, x0); FAIL; 723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_umount 22 725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_umount, "1s 1m"); 726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_umount, x0); FAIL; 727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setuid 23 729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setuid, "1s 0m"); 730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setuid, x0); FAIL; 731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getuid 24 733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getuid, "0s 0m"); 734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getuid); SUCC; 735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stime 25 737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stime, "n/a"); 738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_stime); // (Not yet handled by Valgrind) FAIL; 739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ptrace 26 741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: memory pointed to by arg3 goes unchecked... otherwise would be 2m 742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ptrace, "4s 1m"); 743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ptrace, x0+PTRACE_GETREGS, x0, x0, x0); FAIL; 744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_alarm 27 746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_alarm, "1s 0m"); 747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_alarm, x0); SUCC; 748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_oldfstat 28 750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_oldfstat, "n/a"); 751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (obsolete, not handled by Valgrind) 752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pause 29 754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_pause, "ignore"); 755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (hard to test, and no args so not much to be gained -- don't bother) 756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_utime 30 758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_utime, "2s 2m"); 759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_utime, x0, x0+1); FAIL; 760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stty 31 762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stty, "ni"); 763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stty); FAIL; 764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gtty 32 766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_gtty, "ni"); 767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_gtty); FAIL; 768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_access 33 770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_access, "2s 1m"); 771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_access, x0, x0); FAIL; 772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_nice 34 774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_nice, "1s 0m"); 775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_nice, x0); SUCC; 776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ftime 35 778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ftime, "ni"); 779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ftime); FAIL; 780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sync 36 782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sync, "0s 0m"); 783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sync); SUCC; 784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_kill 37 786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_kill, "2s 0m"); 787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_kill, x0, x0); SUCC; 788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rename 38 790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rename, "2s 2m"); 791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rename, x0, x0); FAIL; 792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mkdir 39 794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mkdir, "2s 1m"); 795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mkdir, x0, x0); FAIL; 796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rmdir 40 798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rmdir, "1s 1m"); 799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rmdir, x0); FAIL; 800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_dup 41 802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_dup, "1s 0m"); 803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_dup, x0-1); FAIL; 804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pipe 42 806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_pipe, "1s 1m"); 807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_pipe, x0); FAIL; 808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_times 43 810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_times, "1s 1m"); 811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_times, x0+1); FAIL; 812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_prof 44 814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_prof, "ni"); 815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_prof); FAIL; 816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_brk 45 818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_brk, "1s 0m"); 819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_brk, x0); SUCC; 820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgid 46 822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setgid, "1s 0m"); 823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setgid, x0); FAIL; 824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgid 47 826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getgid, "0s 0m"); 827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getgid); SUCC; 828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_signal 48 830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_signal, "n/a"); 831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_signal); // (Not yet handled by Valgrind) FAIL; 832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_geteuid 49 834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_geteuid, "0s 0m"); 835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_geteuid); SUCC; 836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getegid 50 838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getegid, "0s 0m"); 839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getegid); SUCC; 840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_acct 51 842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_acct, "1s 1m"); 843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_acct, x0); FAIL; 844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_umount2 52 846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_umount2, "2s 1m"); 847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_umount2, x0, x0); FAIL; 848ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 849ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lock 53 850ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lock, "ni"); 851ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lock); FAIL; 852ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 853ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ioctl 54 854ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #include <asm/ioctls.h> 855ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ioctl, "3s 1m"); 856ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ioctl, x0, x0+TCSETS, x0); FAIL; 857ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 858ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fcntl 55 859ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // As with sys_open(), the 'fd' error is suppressed for the later ones. 860ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_GETFD the 3rd arg is ignored 861ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl, "(GETFD) 2s 0m"); 862ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl, x0-1, x0+F_GETFD, x0); FAILx(EBADF); 863ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 864ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_DUPFD the 3rd arg is 'arg'. We don't check the 1st two args 865ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // because any errors may or may not be commoned up with the ones from 866ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // the previous fcntl call. 867ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl, "(DUPFD) 1s 0m"); 868ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl, -1, F_DUPFD, x0); FAILx(EBADF); 869ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 870ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_GETLK the 3rd arg is 'lock'. On x86, this fails w/EBADF. But 871ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // on amd64 in 32-bit mode it fails w/EFAULT. We don't check the 1st two 872ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // args for the reason given above. 873ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl, "(GETLK) 1s 0m"); 874ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl, -1, F_GETLK, x0); FAIL; //FAILx(EBADF); 875ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 876ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mpx 56 877ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mpx, "ni"); 878ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mpx); FAIL; 879ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 880ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setpgid 57 881ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setpgid, "2s 0m"); 882ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setpgid, x0, x0-1); FAIL; 883ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 884ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ulimit 58 885ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ulimit, "ni"); 886ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ulimit); FAIL; 887ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 888ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_oldolduname 59 889ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_oldolduname, "n/a"); 890ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (obsolete, not handled by Valgrind) 891ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 892ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_umask 60 893ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_umask, "1s 0m"); 894ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_umask, x0+022); SUCC; 895ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 896ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chroot 61 897ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_chroot, "1s 1m"); 898ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_chroot, x0); FAIL; 899ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 900ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ustat 62 901ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ustat, "n/a"); 902ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (deprecated, not handled by Valgrind) 903ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 904ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_dup2 63 905ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_dup2, "2s 0m"); 906ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_dup2, x0-1, x0); FAIL; 907ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 908ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getppid 64 909ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getppid, "0s 0m"); 910ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getppid); SUCC; 911ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 912ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpgrp 65 913ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getpgrp, "0s 0m"); 914ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getpgrp); SUCC; 915ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 916ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setsid 66 917ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setsid, "0s 0m"); 918ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setsid); SUCC_OR_FAIL; 919ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 920ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigaction 67 921ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigaction, "3s 4m"); 922ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sigaction, x0, x0+&px[1], x0+&px[1]); FAIL; 923ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 924ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sgetmask 68 sys_sgetmask() 925ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sgetmask, "n/a"); 926ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sgetmask); // (Not yet handled by Valgrind) FAIL; 927ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 928ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ssetmask 69 929ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ssetmask, "n/a"); 930ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_ssetmask); // (Not yet handled by Valgrind) FAIL; 931ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 932ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setreuid 70 933ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setreuid, "2s 0m"); 934ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setreuid, x0, x0); FAIL; 935ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 936ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setregid 71 937ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setregid, "2s 0m"); 938ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setregid, x0, x0); FAIL; 939ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 940ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigsuspend 72 941ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: how do you use this function? 942ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigsuspend, "ignore"); 943ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (I don't know how to test this...) 944ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 945ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigpending 73 946ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigpending, "1s 1m"); 947ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sigpending, x0); FAIL; 948ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 949ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sethostname 74 950ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sethostname, "n/a"); 951ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sethostname); // (Not yet handled by Valgrind) FAIL; 952ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 953ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setrlimit 75 954ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setrlimit, "2s 1m"); 955ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setrlimit, x0, x0); FAIL; 956ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 957ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getrlimit 76 958ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getrlimit, "2s 1m"); 959ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getrlimit, x0, x0); FAIL; 960ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 961ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getrusage 77 962ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getrusage, "2s 1m"); 963ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getrusage, x0, x0); FAIL; 964ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 965ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gettimeofday 78 966ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_gettimeofday, "2s 2m"); 967ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_gettimeofday, x0, x0+1); FAIL; 968ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 969ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_settimeofday 79 970ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_settimeofday, "2s 2m"); 971ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_settimeofday, x0, x0+1); FAIL; 972ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 973ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgroups 80 974ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getgroups, "2s 1m"); 975ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getgroups, x0+1, x0+1); FAIL; 976ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 977ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgroups 81 978ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setgroups, "2s 1m"); 979ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setgroups, x0+1, x0+1); FAIL; 980ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 981ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_select 82 982ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 983ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown long args[5] = { x0+8, x0+0xffffffee, x0+1, x0+1, x0+1 }; 984ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_select, "1s 5m"); 985ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_select, args+x0); FAIL; 986ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 987ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 988ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_symlink 83 989ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_symlink, "2s 2m"); 990ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_symlink, x0, x0); FAIL; 991ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 992ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_oldlstat 84 993ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_oldlstat, "n/a"); 994ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (obsolete, not handled by Valgrind) 995ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 996ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readlink 85 997ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_readlink, "3s 2m"); 998ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_readlink, x0+1, x0+1, x0+1); FAIL; 999ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1000ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_uselib 86 1001ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_uselib, "n/a"); 1002ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_uselib); // (Not yet handled by Valgrind) FAIL; 1003ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1004ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_swapon 87 1005ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_swapon, "n/a"); 1006ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_swapon); // (Not yet handled by Valgrind) FAIL; 1007ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1008ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_reboot 88 1009ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_reboot, "n/a"); 1010ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_reboot); // (Not yet handled by Valgrind) FAIL; 1011ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1012ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readdir 89 1013ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_readdir, "n/a"); 1014ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (superseded, not handled by Valgrind) 1015ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1016ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mmap 90 1017ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 1018ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown long args[6] = { x0, x0, x0, x0, x0-1, x0 }; 1019ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mmap, "1s 1m"); 1020ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mmap, args+x0); FAIL; 1021ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 1022ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1023ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munmap 91 1024ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_munmap, "2s 0m"); 1025ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_munmap, x0, x0); FAIL; 1026ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1027ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_truncate 92 1028ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_truncate, "2s 1m"); 1029ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_truncate, x0, x0); FAIL; 1030ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1031ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ftruncate 93 1032ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ftruncate, "2s 0m"); 1033ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ftruncate, x0, x0); FAIL; 1034ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1035ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchmod 94 1036ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fchmod, "2s 0m"); 1037ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fchmod, x0-1, x0); FAIL; 1038ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1039ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchown 95 1040ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fchown, "3s 0m"); 1041ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fchown, x0, x0, x0); FAIL; 1042ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1043ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpriority 96 1044ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getpriority, "2s 0m"); 1045ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getpriority, x0-1, x0); FAIL; 1046ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1047ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setpriority 97 1048ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setpriority, "3s 0m"); 1049ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setpriority, x0-1, x0, x0); FAIL; 1050ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1051ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_profil 98 1052ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_profil, "ni"); 1053ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_profil); FAIL; 1054ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1055ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_statfs 99 1056ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_statfs, "2s 2m"); 1057ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_statfs, x0, x0); FAIL; 1058ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1059ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstatfs 100 1060ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstatfs, "2s 1m"); 1061ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstatfs, x0, x0); FAIL; 1062ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1063ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ioperm 101 1064ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ioperm, "3s 0m"); 1065ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ioperm, x0, x0, x0); FAIL; 1066ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1067ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_socketcall 102 1068ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_socketcall, "XXX"); 1069ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (XXX: need to do all sub-cases properly) 1070ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1071ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_syslog 103 1072ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_syslog, "3s 1m"); 1073ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_syslog, x0+2, x0, x0+1); FAIL; 1074ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1075ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setitimer 104 1076ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setitimer, "3s 2m"); 1077ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setitimer, x0, x0+1, x0+1); FAIL; 1078ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1079ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getitimer 105 1080ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getitimer, "2s 1m"); 1081ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getitimer, x0, x0, x0); FAIL; 1082ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1083ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stat 106 1084ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stat, "2s 2m"); 1085ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat, x0, x0); FAIL; 1086ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1087ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lstat 107 1088ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lstat, "2s 2m"); 1089ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat, x0, x0); FAIL; 1090ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1091ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstat 108 1092ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstat, "2s 1m"); 1093ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat, x0, x0); FAIL; 1094ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1095ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_olduname 109 1096ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_olduname, "n/a"); 1097ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (obsolete, not handled by Valgrind) 1098ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1099ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_iopl 110 1100ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_iopl, "1s 0m"); 1101ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_iopl, x0+100); FAIL; 1102ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1103ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vhangup 111 1104ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_vhangup, "0s 0m"); 1105ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_vhangup); SUCC_OR_FAIL; // Will succeed for superuser 1106ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1107ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_idle 112 1108ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_idle, "ni"); 1109ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_idle); FAIL; 1110ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1111ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vm86old 113 1112ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_vm86old, "n/a"); 1113ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (will probably never be handled by Valgrind) 1114ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1115ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_swapoff 115 1116ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_swapoff, "n/a"); 1117ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_swapoff); // (Not yet handled by Valgrind) FAIL; 1118ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1119ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sysinfo 116 1120ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sysinfo, "1s 1m"); 1121ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sysinfo, x0); FAIL; 1122ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1123ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ipc 117 1124ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: This is simplistic -- need to do all the sub-cases properly. 1125ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: Also, should be 6 scalar errors, except glibc's syscall() doesn't 1126ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // use the 6th one! 1127ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ipc, "5s 0m"); 1128ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ipc, x0+4, x0, x0, x0, x0, x0); FAIL; 1129ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1130ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fsync 118 1131ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fsync, "1s 0m"); 1132ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fsync, x0-1); FAIL; 1133ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1134ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigreturn 119 1135ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigreturn, "n/a"); 1136ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sigreturn); // (Not yet handled by Valgrind) FAIL; 1137ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1138ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_clone 120 1139ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#ifndef CLONE_PARENT_SETTID 1140ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define CLONE_PARENT_SETTID 0x00100000 1141ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif 1142ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: should really be "4s 2m"? Not sure... (see PRE(sys_clone)) 1143ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_clone, "4s 0m"); 1144ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_clone, x0|CLONE_PARENT_SETTID|SIGCHLD, x0, x0, x0); FAIL; 1145ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if (0 == res) { 1146ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_exit, 0); FAIL; 1147ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 1148ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1149ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setdomainname 121 1150ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setdomainname, "n/a"); 1151ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_setdomainname); // (Not yet handled by Valgrind) FAIL; 1152ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1153ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_uname 122 1154ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_uname, "1s 1m"); 1155ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_uname, x0); FAIL; 1156ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1157ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_modify_ldt 123 1158ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_modify_ldt, "3s 1m"); 1159ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_modify_ldt, x0+1, x0, x0+1); FAILx(EINVAL); 1160ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1161ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_adjtimex 124 1162ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: need to do properly, but deref'ing NULL causing Valgrind to crash... 1163ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_adjtimex, "XXX"); 1164ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown// SY(__NR_adjtimex, x0); FAIL; 1165ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1166ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mprotect 125 1167ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mprotect, "3s 0m"); 1168ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mprotect, x0+1, x0, x0); FAILx(EINVAL); 1169ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1170ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigprocmask 126 1171ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigprocmask, "3s 2m"); 1172ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sigprocmask, x0, x0+&px[1], x0+&px[1]); SUCC; 1173ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1174ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_create_module 127 1175ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_create_module, "ni"); 1176ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_create_module); FAIL; 1177ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1178ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_init_module 128 1179ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_init_module, "3s 2m"); 1180ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_init_module, x0, x0+1, x0); FAIL; 1181ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1182ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_delete_module 129 1183ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_delete_module, "n/a"); 1184ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_delete_module); // (Not yet handled by Valgrind) FAIL; 1185ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1186ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_get_kernel_syms 130 1187ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_get_kernel_syms, "ni"); 1188ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_get_kernel_syms); FAIL; 1189ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1190ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_quotactl 131 1191ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_quotactl, "4s 1m"); 1192ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_quotactl, x0, x0, x0, x0); FAIL; 1193ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1194ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpgid 132 1195ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getpgid, "1s 0m"); 1196ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getpgid, x0-1); FAIL; 1197ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1198ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_bdflush 134 1199ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_bdflush, "n/a"); 1200ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_bdflush); // (Not yet handled by Valgrind) FAIL; 1201ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1202ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sysfs 135 1203ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sysfs, "n/a"); 1204ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sysfs); // (Not yet handled by Valgrind) FAIL; 1205ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1206ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_personality 136 1207ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_personality, "1s 0m"); 1208ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_personality, x0+0xffffffff); SUCC; 1209ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1210ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_afs_syscall 137 1211ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_afs_syscall, "ni"); 1212ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_afs_syscall); FAIL; 1213ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1214ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setfsuid 138 1215ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setfsuid, "1s 0m"); 1216ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setfsuid, x0); SUCC; // This syscall has a stupid return value 1217ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1218ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setfsgid 139 1219ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setfsgid, "1s 0m"); 1220ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setfsgid, x0); SUCC; // This syscall has a stupid return value 1221ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1222ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR__llseek 140 1223ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR__llseek, "5s 1m"); 1224ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR__llseek, x0, x0, x0, x0, x0); FAIL; 1225ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1226ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdents 141 1227ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getdents, "3s 1m"); 1228ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getdents, x0, x0, x0+1); FAIL; 1229ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1230ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR__newselect 142 1231ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR__newselect, "5s 4m"); 1232ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR__newselect, x0+8, x0+0xffffffff, x0+1, x0+1, x0+1); FAIL; 1233ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1234ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_flock 143 1235ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_flock, "2s 0m"); 1236ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_flock, x0, x0); FAIL; 1237ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1238ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_msync 144 1239ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_msync, "3s 1m"); 1240ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_msync, x0, x0+1, x0); FAIL; 1241ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1242ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readv 145 1243ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_readv, "3s 1m"); 1244ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_readv, x0, x0, x0+1); FAIL; 1245ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1246ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_writev 146 1247ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_writev, "3s 1m"); 1248ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_writev, x0, x0, x0+1); FAIL; 1249ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1250ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getsid 147 1251ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getsid, "1s 0m"); 1252ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getsid, x0-1); FAIL; 1253ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1254ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fdatasync 148 1255ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fdatasync, "1s 0m"); 1256ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fdatasync, x0-1); FAIL; 1257ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1258ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR__sysctl 149 1259ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR__sysctl, "1s 1m"); 1260ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR__sysctl, x0); FAIL; 1261ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1262ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mlock 150 1263ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mlock, "2s 0m"); 1264ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mlock, x0, x0+1); FAIL; 1265ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1266ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munlock 151 1267ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_munlock, "2s 0m"); 1268ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_munlock, x0, x0+1); FAIL; 1269ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1270ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mlockall 152 1271ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mlockall, "1s 0m"); 1272ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mlockall, x0-1); FAIL; 1273ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1274ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_munlockall 153 1275ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_munlockall, "0s 0m"); 1276ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_munlockall); SUCC_OR_FAILx(EPERM); 1277ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1278ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_setparam 154 1279ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_setparam, "2s 1m"); 1280ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_setparam, x0, x0); FAIL; 1281ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1282ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_getparam 155 1283ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_getparam, "2s 1m"); 1284ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_getparam, x0, x0); FAIL; 1285ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1286ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_setscheduler 156 1287ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_setscheduler, "3s 1m"); 1288ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_setscheduler, x0-1, x0, x0+1); FAIL; 1289ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1290ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_getscheduler 157 1291ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_getscheduler, "1s 0m"); 1292ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_getscheduler, x0-1); FAIL; 1293ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1294ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_yield 158 1295ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_yield, "0s 0m"); 1296ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_yield); SUCC; 1297ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1298ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_get_priority_max 159 1299ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_get_priority_max, "1s 0m"); 1300ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_get_priority_max, x0-1); FAIL; 1301ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1302ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_get_priority_min 160 1303ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_get_priority_min, "1s 0m"); 1304ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_get_priority_min, x0-1); FAIL; 1305ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1306ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_rr_get_interval 161 1307ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_rr_get_interval, "n/a"); 1308ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_sched_rr_get_interval); // (Not yet handled by Valgrind) FAIL; 1309ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1310ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_nanosleep 162 1311ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_nanosleep, "2s 2m"); 1312ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_nanosleep, x0, x0+1); FAIL; 1313ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1314ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mremap 163 1315ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mremap, "5s 0m"); 1316ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mremap, x0+1, x0, x0, x0+MREMAP_FIXED, x0); FAILx(EINVAL); 1317ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1318ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setresuid 164 1319ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setresuid, "3s 0m"); 1320ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setresuid, x0, x0, x0); FAIL; 1321ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1322ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getresuid 165 1323ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getresuid, "3s 3m"); 1324ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getresuid, x0, x0, x0); FAIL; 1325ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1326ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vm86 166 1327ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_vm86, "n/a"); 1328ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (will probably never be handled by Valgrind) 1329ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1330ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_query_module 167 1331ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_query_module, "ni"); 1332ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_query_module); FAIL; 1333ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1334ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_poll 168 1335ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_poll, "3s 1m"); 1336ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_poll, x0, x0+1, x0); FAIL; 1337ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1338ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_nfsservctl 169 1339ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_nfsservctl, "n/a"); 1340ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_nfsservctl); // (Not yet handled by Valgrind) FAIL; 1341ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1342ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setresgid 170 1343ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setresgid, "3s 0m"); 1344ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setresgid, x0, x0, x0); FAIL; 1345ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1346ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getresgid 171 1347ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getresgid, "3s 3m"); 1348ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getresgid, x0, x0, x0); FAIL; 1349ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1350ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_prctl 172 1351ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_prctl, "5s 0m"); 1352ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_prctl, x0, x0, x0, x0, x0); FAIL; 1353ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1354ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigreturn 173 1355ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigreturn, "n/a"); 1356ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_rt_sigreturn); // (Not yet handled by Valgrind) FAIL; 1357ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1358ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigaction 174 1359ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigaction, "4s 4m"); 1360ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rt_sigaction, x0, x0+&px[2], x0+&px[2], x0); FAIL; 1361ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1362ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigprocmask 175 1363ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigprocmask, "4s 2m"); 1364ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rt_sigprocmask, x0, x0+1, x0+1, x0); FAIL; 1365ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1366ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigpending 176 1367ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigpending, "2s 1m"); 1368ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rt_sigpending, x0, x0+1); FAIL; 1369ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1370ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigtimedwait 177 1371ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigtimedwait, "4s 3m"); 1372ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rt_sigtimedwait, x0+1, x0+1, x0+1, x0); FAIL; 1373ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1374ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigqueueinfo 178 1375ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigqueueinfo, "3s 1m"); 1376ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_rt_sigqueueinfo, x0, x0+1, x0); FAIL; 1377ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1378ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_rt_sigsuspend 179 1379ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_rt_sigsuspend, "ignore"); 1380ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (I don't know how to test this...) 1381ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1382ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pread64 180 1383ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_pread64, "5s 1m"); 1384ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_pread64, x0, x0, x0+1, x0, x0); FAIL; 1385ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1386ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pwrite64 181 1387ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_pwrite64, "5s 1m"); 1388ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_pwrite64, x0, x0, x0+1, x0, x0); FAIL; 1389ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1390ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getcwd 183 1391ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getcwd, "2s 1m"); 1392ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getcwd, x0, x0+1); FAIL; 1393ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1394ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_capget 184 1395ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_capget, "2s 2m"); 1396ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_capget, x0, x0); FAIL; 1397ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1398ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_capset 185 1399ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_capset, "2s 2m"); 1400ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_capset, x0, x0); FAIL; 1401ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1402ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sigaltstack 186 1403ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 1404ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown struct our_sigaltstack { 1405ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown void *ss_sp; 1406ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int ss_flags; 1407ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown size_t ss_size; 1408ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } ss; 1409ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ss.ss_sp = NULL; 1410ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ss.ss_flags = 0; 1411ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown ss.ss_size = 0; 1412ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown VALGRIND_MAKE_MEM_NOACCESS(& ss, sizeof(struct our_sigaltstack)); 1413ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sigaltstack, "2s 2m"); 1414ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sigaltstack, x0+&ss, x0+&ss); SUCC; 1415ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 1416ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1417ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sendfile 187 1418ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sendfile, "4s 1m"); 1419ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sendfile, x0, x0, x0+1, x0); FAIL; 1420ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1421ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getpmsg 188 1422ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Could do 5s 4m with more effort, but I can't be bothered for this 1423ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // crappy non-standard syscall. 1424ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getpmsg, "5s 0m"); 1425ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getpmsg, x0, x0, x0, x0); FAIL; 1426ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1427ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_putpmsg 189 1428ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // Could do 5s 2m with more effort, but I can't be bothered for this 1429ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // crappy non-standard syscall. 1430ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_putpmsg, "5s 0m"); 1431ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_putpmsg, x0, x0, x0, x0, x0); FAIL; 1432ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1433ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vfork 190 1434ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_vfork, "other"); 1435ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (sse scalar_vfork.c) 1436ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1437ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ugetrlimit 191 1438ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ugetrlimit, "2s 1m"); 1439ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ugetrlimit, x0, x0); FAIL; 1440ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1441ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mmap2 192 1442ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mmap2, "6s 0m"); 1443ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mmap2, x0, x0, x0, x0, x0-1, x0); FAIL; 1444ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1445ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_truncate64 193 1446ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_truncate64, "3s 1m"); 1447ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_truncate64, x0, x0, x0); FAIL; 1448ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1449ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_ftruncate64 194 1450ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_ftruncate64, "3s 0m"); 1451ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_ftruncate64, x0, x0, x0); FAIL; 1452ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1453ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_stat64 195 1454ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_stat64, "2s 2m"); 1455ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_stat64, x0, x0); FAIL; 1456ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1457ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lstat64 196 1458ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lstat64, "2s 2m"); 1459ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lstat64, x0, x0); FAIL; 1460ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1461ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstat64 197 1462ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstat64, "2s 1m"); 1463ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstat64, x0, x0); FAIL; 1464ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1465ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lchown32 198 1466ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lchown32, "3s 1m"); 1467ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lchown32, x0, x0, x0); FAIL; 1468ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1469ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getuid32 199 1470ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getuid32, "0s 0m"); 1471ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getuid32); SUCC; 1472ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1473ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgid32 200 1474ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getgid32, "0s 0m"); 1475ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getgid32); SUCC; 1476ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1477ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_geteuid32 201 1478ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_geteuid32, "0s 0m"); 1479ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_geteuid32); SUCC; 1480ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1481ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getegid32 202 1482ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getegid32, "0s 0m"); 1483ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getegid32); SUCC; 1484ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1485ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setreuid32 203 1486ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setreuid32, "2s 0m"); 1487ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setreuid32, x0, x0); FAIL; 1488ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1489ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setregid32 204 1490ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setregid32, "2s 0m"); 1491ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setregid32, x0, x0); FAIL; 1492ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1493ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getgroups32 205 1494ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getgroups32, "2s 1m"); 1495ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getgroups32, x0+1, x0+1); FAIL; 1496ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1497ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgroups32 206 1498ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setgroups32, "2s 1m"); 1499ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setgroups32, x0+1, x0+1); FAIL; 1500ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1501ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fchown32 207 1502ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fchown32, "3s 0m"); 1503ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fchown32, x0, x0, x0); FAIL; 1504ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1505ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setresuid32 208 1506ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setresuid32, "3s 0m"); 1507ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setresuid32, x0, x0, x0); FAIL; 1508ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1509ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getresuid32 209 1510ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getresuid32, "3s 3m"); 1511ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getresuid32, x0, x0, x0); FAIL; 1512ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1513ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setresgid32 210 1514ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setresgid32, "3s 0m"); 1515ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setresgid32, x0, x0, x0); FAIL; 1516ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1517ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getresgid32 211 1518ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getresgid32, "3s 3m"); 1519ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getresgid32, x0, x0, x0); FAIL; 1520ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1521ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_chown32 212 1522ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_chown32, "3s 1m"); 1523ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_chown32, x0, x0, x0); FAIL; 1524ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1525ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setuid32 213 1526ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setuid32, "1s 0m"); 1527ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setuid32, x0); FAIL; 1528ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1529ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setgid32 214 1530ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setgid32, "1s 0m"); 1531ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setgid32, x0); FAIL; 1532ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1533ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setfsuid32 215 1534ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setfsuid32, "1s 0m"); 1535ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setfsuid32, x0); SUCC; // This syscall has a stupid return value 1536ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1537ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setfsgid32 216 1538ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setfsgid32, "1s 0m"); 1539ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setfsgid32, x0); SUCC; // This syscall has a stupid return value 1540ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1541ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_pivot_root 217 1542ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_pivot_root, "n/a"); 1543ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_pivot_root); // (Not yet handled by Valgrind) FAIL; 1544ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1545ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mincore 218 1546ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mincore, "3s 1m"); 1547ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mincore, x0, x0+40960, x0); FAIL; 1548ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1549ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_madvise 219 1550ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_madvise, "3s 0m"); 1551ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_madvise, x0, x0+1, x0); FAILx(ENOMEM); 1552ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1553ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getdents64 220 1554ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getdents64, "3s 1m"); 1555ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getdents64, x0, x0, x0+1); FAIL; 1556ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1557ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fcntl64 221 1558ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // As with sys_open(), we don't trigger errors for the 1st two args for 1559ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // the later ones. 1560ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_GETFD the 3rd arg is ignored. 1561ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl64, "(GETFD) 2s 0m"); 1562ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl64, x0-1, x0+F_GETFD, x0); FAILx(EBADF); 1563ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1564ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_DUPFD the 3rd arg is 'arg' 1565ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl64, "(DUPFD) 1s 0m"); 1566ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl64, -1, F_DUPFD, x0); FAILx(EBADF); 1567ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1568ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // For F_GETLK the 3rd arg is 'lock'. 1569ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // On x86, this fails w/EBADF. But on amd64 in 32-bit mode it fails 1570ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // w/EFAULT. 1571ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fcntl64, "(GETLK) 1s 0m"); 1572ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fcntl64, -1, +F_GETLK, x0); FAIL; //FAILx(EBADF); 1573ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1574ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // 222 1575ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(222, "ni"); 1576ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(222); FAIL; 1577ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1578ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // 223 1579ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(223, "ni"); 1580ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(223); FAIL; 1581ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1582ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_gettid 224 1583ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_gettid, "n/a"); 1584ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_gettid); // (Not yet handled by Valgrind) FAIL; 1585ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1586ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_readahead 225 1587ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_readahead, "n/a"); 1588ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_readahead); // (Not yet handled by Valgrind) FAIL; 1589ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1590ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_setxattr 226 1591ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_setxattr, "5s 3m"); 1592ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_setxattr, x0, x0, x0, x0+1, x0); FAIL; 1593ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1594ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lsetxattr 227 1595ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lsetxattr, "5s 3m"); 1596ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lsetxattr, x0, x0, x0, x0+1, x0); FAIL; 1597ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1598ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fsetxattr 228 1599ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fsetxattr, "5s 2m"); 1600ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fsetxattr, x0, x0, x0, x0+1, x0); FAIL; 1601ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1602ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_getxattr 229 1603ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_getxattr, "4s 3m"); 1604ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_getxattr, x0, x0, x0, x0+1); FAIL; 1605ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1606ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lgetxattr 230 1607ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lgetxattr, "4s 3m"); 1608ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lgetxattr, x0, x0, x0, x0+1); FAIL; 1609ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1610ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fgetxattr 231 1611ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fgetxattr, "4s 2m"); 1612ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fgetxattr, x0, x0, x0, x0+1); FAIL; 1613ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1614ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_listxattr 232 1615ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_listxattr, "3s 2m"); 1616ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_listxattr, x0, x0, x0+1); FAIL; 1617ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1618ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_llistxattr 233 1619ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_llistxattr, "3s 2m"); 1620ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_llistxattr, x0, x0, x0+1); FAIL; 1621ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1622ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_flistxattr 234 1623ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_flistxattr, "3s 1m"); 1624ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_flistxattr, x0-1, x0, x0+1); FAIL; /* kernel returns EBADF, but both seem correct */ 1625ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1626ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_removexattr 235 1627ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_removexattr, "2s 2m"); 1628ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_removexattr, x0, x0); FAIL; 1629ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1630ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lremovexattr 236 1631ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lremovexattr, "2s 2m"); 1632ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lremovexattr, x0, x0); FAIL; 1633ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1634ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fremovexattr 237 1635ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fremovexattr, "2s 1m"); 1636ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fremovexattr, x0, x0); FAIL; 1637ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1638ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_tkill 238 1639ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_tkill, "n/a"); 1640ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_tkill); // (Not yet handled by Valgrind) FAIL; 1641ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1642ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sendfile64 239 1643ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sendfile64, "4s 1m"); 1644ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sendfile64, x0, x0, x0+1, x0); FAIL; 1645ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1646ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_futex 240 1647ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #ifndef FUTEX_WAIT 1648ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #define FUTEX_WAIT 0 1649ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown #endif 1650ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // XXX: again, glibc not doing 6th arg means we have only 5s errors 1651ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_futex, "5s 2m"); 1652ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_futex, x0+FUTEX_WAIT, x0, x0, x0+1, x0, x0); FAIL; 1653ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1654ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_setaffinity 241 1655ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_setaffinity, "3s 1m"); 1656ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_setaffinity, x0, x0+1, x0); FAIL; 1657ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1658ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sched_getaffinity 242 1659ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sched_getaffinity, "3s 1m"); 1660ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sched_getaffinity, x0, x0+1, x0); FAIL; 1661ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1662ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_set_thread_area 243 1663ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_set_thread_area, "1s 1m"); 1664ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_set_thread_area, x0); FAILx(EFAULT); 1665ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1666ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_get_thread_area 244 1667ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_get_thread_area, "1s 1m"); 1668ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_get_thread_area, x0); FAILx(EFAULT); 1669ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1670ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_io_setup 245 1671ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_io_setup, "2s 1m"); 1672ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_io_setup, x0, x0); FAIL; 1673ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1674ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_io_destroy 246 1675ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown { 1676ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // jump through hoops to prevent the PRE(io_destroy) wrapper crashing. 1677ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown struct fake_aio_ring { 1678ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown unsigned id; /* kernel internal index number */ 1679ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown unsigned nr; /* number of io_events */ 1680ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // There are more fields in the real aio_ring, but the 'nr' field is 1681ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // the only one used by the PRE() wrapper. 1682ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } ring = { 0, 0 }; 1683ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown struct fake_aio_ring* ringptr = ˚ 1684ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_io_destroy, "1s 0m"); 1685ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_io_destroy, x0+&ringptr); FAIL; 1686ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 1687ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1688ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_io_getevents 247 1689ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_io_getevents, "5s 2m"); 1690ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_io_getevents, x0, x0, x0+1, x0, x0+1); FAIL; 1691ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1692ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_io_submit 248 1693ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_io_submit, "3s 1m"); 1694ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_io_submit, x0, x0+1, x0); FAIL; 1695ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1696ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_io_cancel 249 1697ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_io_cancel, "3s 2m"); 1698ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_io_cancel, x0, x0, x0); FAIL; 1699ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1700ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fadvise64 250 1701ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fadvise64, "n/a"); 1702ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_fadvise64); // (Not yet handled by Valgrind) FAIL; 1703ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1704ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // 251 1705ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(251, "ni"); 1706ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(251); FAIL; 1707ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1708ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_exit_group 252 1709ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_exit_group, "other"); 1710ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // (see scalar_exit_group.c) 1711ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1712ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_lookup_dcookie 253 1713ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_lookup_dcookie, "4s 1m"); 1714ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_lookup_dcookie, x0, x0, x0, x0+1); FAIL; 1715ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1716ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_epoll_create 254 1717ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_epoll_create, "1s 0m"); 1718ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_epoll_create, x0); SUCC_OR_FAIL; 1719ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1720ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_epoll_ctl 255 1721ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_epoll_ctl, "4s 1m"); 1722ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_epoll_ctl, x0, x0, x0, x0); FAIL; 1723ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1724ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_epoll_wait 256 1725ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_epoll_wait, "4s 1m"); 1726ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_epoll_wait, x0, x0, x0+1, x0); FAIL; 1727ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1728ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_remap_file_pages 257 1729ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_remap_file_pages, "n/a"); 1730ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_remap_file_pages); // (Not yet handled by Valgrind) FAIL; 1731ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1732ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_set_tid_address 258 1733ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_set_tid_address, "1s 0m"); 1734ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_set_tid_address, x0); SUCC_OR_FAILx(ENOSYS); 1735ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1736ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_timer_create 259 1737ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_timer_create, "3s 2m"); 1738ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_timer_create, x0, x0+1, x0); FAIL; 1739ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1740ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_timer_settime (__NR_timer_create+1) 1741ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_timer_settime, "4s 2m"); 1742ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_timer_settime, x0, x0, x0, x0+1); FAIL; 1743ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1744ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_timer_gettime (__NR_timer_create+2) 1745ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_timer_gettime, "2s 1m"); 1746ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_timer_gettime, x0, x0); FAIL; 1747ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1748ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_timer_getoverrun (__NR_timer_create+3) 1749ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_timer_getoverrun, "1s 0m"); 1750ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_timer_getoverrun, x0); FAIL; 1751ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1752ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_timer_delete (__NR_timer_create+4) 1753ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_timer_delete, "1s 0m"); 1754ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_timer_delete, x0); FAIL; 1755ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1756ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_clock_settime (__NR_timer_create+5) 1757ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_clock_settime, "2s 1m"); 1758ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_clock_settime, x0, x0); FAIL; FAIL; 1759ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1760ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_clock_gettime (__NR_timer_create+6) 1761ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_clock_gettime, "2s 1m"); 1762ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_clock_gettime, x0, x0); FAIL; 1763ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1764ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_clock_getres (__NR_timer_create+7) 1765ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_clock_getres, "2s 1m"); 1766ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_clock_getres, x0+1, x0+1); FAIL; FAIL; 1767ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1768ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_clock_nanosleep (__NR_timer_create+8) 1769ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_clock_nanosleep, "n/a"); 1770ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_clock_nanosleep); // (Not yet handled by Valgrind) FAIL; 1771ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1772ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_statfs64 268 1773ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_statfs64, "3s 2m"); 1774ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_statfs64, x0, x0+1, x0); FAIL; 1775ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1776ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fstatfs64 269 1777ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fstatfs64, "3s 1m"); 1778ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_fstatfs64, x0, x0+1, x0); FAIL; 1779ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1780ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_tgkill 270 1781ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_tgkill, "n/a"); 1782ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_tgkill); // (Not yet handled by Valgrind) FAIL; 1783ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1784ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_utimes 271 1785ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_utimes, "2s 2m"); 1786ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_utimes, x0, x0+1); FAIL; 1787ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1788ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_fadvise64_64 272 1789ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_fadvise64_64, "n/a"); 1790ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_fadvise64_64); // (Not yet handled by Valgrind) FAIL; 1791ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1792ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_vserver 273 1793ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_vserver, "ni"); 1794ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_vserver); FAIL; 1795ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1796ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mbind 274 1797ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mbind, "n/a"); 1798ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_mbind); // (Not yet handled by Valgrind) FAIL; 1799ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1800ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_get_mempolicy 275 1801ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_get_mempolicy, "n/a"); 1802ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_get_mempolicy); // (Not yet handled by Valgrind) FAIL; 1803ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1804ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_set_mempolicy 276 1805ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_set_mempolicy, "n/a"); 1806ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown //SY(__NR_set_mempolicy); // (Not yet handled by Valgrind) FAIL; 1807ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1808ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_open 277 1809ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_open, "4s 3m"); 1810ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_open, x0, x0+O_CREAT, x0, x0+1); FAIL; 1811ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1812ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_unlink (__NR_mq_open+1) 1813ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_unlink, "1s 1m"); 1814ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_unlink, x0); FAIL; 1815ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1816ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_timedsend (__NR_mq_open+2) 1817ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_timedsend, "5s 2m"); 1818ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_timedsend, x0, x0, x0+1, x0, x0+1); FAIL; 1819ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1820ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_timedreceive (__NR_mq_open+3) 1821ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_timedreceive, "5s 3m"); 1822ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_timedreceive, x0, x0, x0+1, x0+1, x0+1); FAIL; 1823ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1824ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_notify (__NR_mq_open+4) 1825ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_notify, "2s 1m"); 1826ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_notify, x0, x0+1); FAIL; 1827ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1828ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_mq_getsetattr (__NR_mq_open+5) 1829ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_mq_getsetattr, "3s 2m"); 1830ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_mq_getsetattr, x0, x0+1, x0+1); FAIL; 1831ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1832ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_sys_kexec_load 283 1833ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_sys_kexec_load, "ni"); 1834ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_sys_kexec_load); FAIL; 1835ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#endif 1836ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1837ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // no such syscall... 1838ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(9999, 9999, "1e"); 1839ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(9999); FAIL; 1840ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1841ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown // __NR_exit 1 1842ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown GO(__NR_exit, 1, "1s 0m"); 1843ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown SY(__NR_exit, x0); FAIL; 1844ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1845ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown assert(0); 1846ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 1847ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 1848