Home | History | Annotate | Download | only in nonsfi
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // ASAN internally uses some syscalls which non-SFI NaCl disallows.
      6 // Seccomp-BPF tests die under TSAN v2. See http://crbug.com/356588
      7 #if !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER)
      8 
      9 #include "components/nacl/loader/nonsfi/nonsfi_sandbox.h"
     10 
     11 #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
     12 #include "sandbox/linux/seccomp-bpf/bpf_tests.h"
     13 
     14 namespace {
     15 
     16 // Test cases in this file just make sure not-whitelisted syscalls
     17 // are appropriately disallowed. They should raise SIGSYS regardless
     18 // of arguments. We always pass five zeros not to pass uninitialized
     19 // values to syscalls.
     20 #define RESTRICT_SYSCALL_DEATH_TEST_IMPL(name, sysno)                        \
     21   BPF_DEATH_TEST_C(NaClNonSfiSandboxSIGSYSTest,                              \
     22                    name,                                                     \
     23                    DEATH_MESSAGE(sandbox::GetErrorMessageContentForTests()), \
     24                    nacl::nonsfi::NaClNonSfiBPFSandboxPolicy) {               \
     25     syscall(sysno, 0, 0, 0, 0, 0, 0);                                        \
     26   }
     27 
     28 #define RESTRICT_SYSCALL_DEATH_TEST(name)               \
     29   RESTRICT_SYSCALL_DEATH_TEST_IMPL(name, __NR_ ## name)
     30 
     31 #define RESTRICT_ARM_SYSCALL_DEATH_TEST(name)           \
     32   RESTRICT_SYSCALL_DEATH_TEST_IMPL(ARM_ ## name, __ARM_NR_ ## name)
     33 
     34 #if defined(__i386__) || defined(__arm__)
     35 RESTRICT_SYSCALL_DEATH_TEST(_newselect);
     36 #endif
     37 RESTRICT_SYSCALL_DEATH_TEST(_sysctl);
     38 #if defined(__x86_64__) || defined(__arm__)
     39 RESTRICT_SYSCALL_DEATH_TEST(accept);
     40 #endif
     41 #if defined(__x86_64__) || defined(__arm__)
     42 RESTRICT_SYSCALL_DEATH_TEST(accept4);
     43 #endif
     44 RESTRICT_SYSCALL_DEATH_TEST(access);
     45 RESTRICT_SYSCALL_DEATH_TEST(acct);
     46 RESTRICT_SYSCALL_DEATH_TEST(add_key);
     47 RESTRICT_SYSCALL_DEATH_TEST(adjtimex);
     48 #if defined(__i386__) || defined(__x86_64__)
     49 RESTRICT_SYSCALL_DEATH_TEST(afs_syscall);
     50 #endif
     51 #if defined(__i386__) || defined(__x86_64__)
     52 RESTRICT_SYSCALL_DEATH_TEST(alarm);
     53 #endif
     54 #if defined(__x86_64__)
     55 RESTRICT_SYSCALL_DEATH_TEST(arch_prctl);
     56 #endif
     57 #if defined(__arm__)
     58 RESTRICT_SYSCALL_DEATH_TEST(arm_fadvise64_64);
     59 #endif
     60 #if defined(__i386__) || defined(__arm__)
     61 RESTRICT_SYSCALL_DEATH_TEST(bdflush);
     62 #endif
     63 #if defined(__x86_64__) || defined(__arm__)
     64 RESTRICT_SYSCALL_DEATH_TEST(bind);
     65 #endif
     66 #if defined(__i386__)
     67 RESTRICT_SYSCALL_DEATH_TEST(break);
     68 #endif
     69 RESTRICT_SYSCALL_DEATH_TEST(capget);
     70 RESTRICT_SYSCALL_DEATH_TEST(capset);
     71 RESTRICT_SYSCALL_DEATH_TEST(chdir);
     72 RESTRICT_SYSCALL_DEATH_TEST(chmod);
     73 RESTRICT_SYSCALL_DEATH_TEST(chown);
     74 #if defined(__i386__) || defined(__arm__)
     75 RESTRICT_SYSCALL_DEATH_TEST(chown32);
     76 #endif
     77 RESTRICT_SYSCALL_DEATH_TEST(chroot);
     78 RESTRICT_SYSCALL_DEATH_TEST(clock_adjtime);
     79 RESTRICT_SYSCALL_DEATH_TEST(clock_nanosleep);
     80 RESTRICT_SYSCALL_DEATH_TEST(clock_settime);
     81 #if defined(__x86_64__) || defined(__arm__)
     82 RESTRICT_SYSCALL_DEATH_TEST(connect);
     83 #endif
     84 RESTRICT_SYSCALL_DEATH_TEST(creat);
     85 #if defined(__i386__) || defined(__x86_64__)
     86 RESTRICT_SYSCALL_DEATH_TEST(create_module);
     87 #endif
     88 RESTRICT_SYSCALL_DEATH_TEST(delete_module);
     89 RESTRICT_SYSCALL_DEATH_TEST(dup3);
     90 RESTRICT_SYSCALL_DEATH_TEST(epoll_create1);
     91 RESTRICT_SYSCALL_DEATH_TEST(epoll_ctl);
     92 #if defined(__x86_64__)
     93 RESTRICT_SYSCALL_DEATH_TEST(epoll_ctl_old);
     94 #endif
     95 RESTRICT_SYSCALL_DEATH_TEST(epoll_pwait);
     96 RESTRICT_SYSCALL_DEATH_TEST(epoll_wait);
     97 #if defined(__x86_64__)
     98 RESTRICT_SYSCALL_DEATH_TEST(epoll_wait_old);
     99 #endif
    100 RESTRICT_SYSCALL_DEATH_TEST(eventfd);
    101 RESTRICT_SYSCALL_DEATH_TEST(eventfd2);
    102 RESTRICT_SYSCALL_DEATH_TEST(execve);
    103 RESTRICT_SYSCALL_DEATH_TEST(faccessat);
    104 #if defined(__i386__) || defined(__x86_64__)
    105 RESTRICT_SYSCALL_DEATH_TEST(fadvise64);
    106 #endif
    107 #if defined(__i386__)
    108 RESTRICT_SYSCALL_DEATH_TEST(fadvise64_64);
    109 #endif
    110 RESTRICT_SYSCALL_DEATH_TEST(fallocate);
    111 RESTRICT_SYSCALL_DEATH_TEST(fanotify_init);
    112 RESTRICT_SYSCALL_DEATH_TEST(fanotify_mark);
    113 RESTRICT_SYSCALL_DEATH_TEST(fchdir);
    114 RESTRICT_SYSCALL_DEATH_TEST(fchmod);
    115 RESTRICT_SYSCALL_DEATH_TEST(fchmodat);
    116 RESTRICT_SYSCALL_DEATH_TEST(fchown);
    117 #if defined(__i386__) || defined(__arm__)
    118 RESTRICT_SYSCALL_DEATH_TEST(fchown32);
    119 #endif
    120 RESTRICT_SYSCALL_DEATH_TEST(fchownat);
    121 #if defined(__i386__) || defined(__arm__)
    122 RESTRICT_SYSCALL_DEATH_TEST(fcntl);
    123 #endif
    124 RESTRICT_SYSCALL_DEATH_TEST(fdatasync);
    125 RESTRICT_SYSCALL_DEATH_TEST(fgetxattr);
    126 RESTRICT_SYSCALL_DEATH_TEST(flistxattr);
    127 RESTRICT_SYSCALL_DEATH_TEST(flock);
    128 RESTRICT_SYSCALL_DEATH_TEST(fork);
    129 RESTRICT_SYSCALL_DEATH_TEST(fremovexattr);
    130 RESTRICT_SYSCALL_DEATH_TEST(fsetxattr);
    131 #if defined(__i386__) || defined(__arm__)
    132 RESTRICT_SYSCALL_DEATH_TEST(fstat);
    133 #endif
    134 #if defined(__i386__) || defined(__arm__)
    135 RESTRICT_SYSCALL_DEATH_TEST(fstatat64);
    136 #endif
    137 RESTRICT_SYSCALL_DEATH_TEST(fstatfs);
    138 #if defined(__i386__) || defined(__arm__)
    139 RESTRICT_SYSCALL_DEATH_TEST(fstatfs64);
    140 #endif
    141 RESTRICT_SYSCALL_DEATH_TEST(fsync);
    142 #if defined(__i386__)
    143 RESTRICT_SYSCALL_DEATH_TEST(ftime);
    144 #endif
    145 RESTRICT_SYSCALL_DEATH_TEST(ftruncate);
    146 #if defined(__i386__) || defined(__arm__)
    147 RESTRICT_SYSCALL_DEATH_TEST(ftruncate64);
    148 #endif
    149 RESTRICT_SYSCALL_DEATH_TEST(futimesat);
    150 #if defined(__i386__) || defined(__x86_64__)
    151 RESTRICT_SYSCALL_DEATH_TEST(get_kernel_syms);
    152 #endif
    153 RESTRICT_SYSCALL_DEATH_TEST(get_mempolicy);
    154 RESTRICT_SYSCALL_DEATH_TEST(get_robust_list);
    155 #if defined(__i386__) || defined(__x86_64__)
    156 RESTRICT_SYSCALL_DEATH_TEST(get_thread_area);
    157 #endif
    158 RESTRICT_SYSCALL_DEATH_TEST(getcpu);
    159 RESTRICT_SYSCALL_DEATH_TEST(getcwd);
    160 RESTRICT_SYSCALL_DEATH_TEST(getdents);
    161 RESTRICT_SYSCALL_DEATH_TEST(getdents64);
    162 RESTRICT_SYSCALL_DEATH_TEST(getgroups);
    163 #if defined(__i386__) || defined(__arm__)
    164 RESTRICT_SYSCALL_DEATH_TEST(getgroups32);
    165 #endif
    166 RESTRICT_SYSCALL_DEATH_TEST(getitimer);
    167 #if defined(__x86_64__) || defined(__arm__)
    168 RESTRICT_SYSCALL_DEATH_TEST(getpeername);
    169 #endif
    170 RESTRICT_SYSCALL_DEATH_TEST(getpgid);
    171 RESTRICT_SYSCALL_DEATH_TEST(getpgrp);
    172 RESTRICT_SYSCALL_DEATH_TEST(getpid);
    173 #if defined(__i386__) || defined(__x86_64__)
    174 RESTRICT_SYSCALL_DEATH_TEST(getpmsg);
    175 #endif
    176 RESTRICT_SYSCALL_DEATH_TEST(getppid);
    177 RESTRICT_SYSCALL_DEATH_TEST(getpriority);
    178 RESTRICT_SYSCALL_DEATH_TEST(getresgid);
    179 #if defined(__i386__) || defined(__arm__)
    180 RESTRICT_SYSCALL_DEATH_TEST(getresgid32);
    181 #endif
    182 RESTRICT_SYSCALL_DEATH_TEST(getresuid);
    183 #if defined(__i386__) || defined(__arm__)
    184 RESTRICT_SYSCALL_DEATH_TEST(getresuid32);
    185 #endif
    186 #if defined(__i386__) || defined(__x86_64__)
    187 RESTRICT_SYSCALL_DEATH_TEST(getrlimit);
    188 #endif
    189 RESTRICT_SYSCALL_DEATH_TEST(getrusage);
    190 RESTRICT_SYSCALL_DEATH_TEST(getsid);
    191 #if defined(__x86_64__) || defined(__arm__)
    192 RESTRICT_SYSCALL_DEATH_TEST(getsockname);
    193 #endif
    194 #if defined(__x86_64__) || defined(__arm__)
    195 RESTRICT_SYSCALL_DEATH_TEST(getsockopt);
    196 #endif
    197 RESTRICT_SYSCALL_DEATH_TEST(getxattr);
    198 #if defined(__i386__)
    199 RESTRICT_SYSCALL_DEATH_TEST(gtty);
    200 #endif
    201 #if defined(__i386__)
    202 RESTRICT_SYSCALL_DEATH_TEST(idle);
    203 #endif
    204 RESTRICT_SYSCALL_DEATH_TEST(init_module);
    205 RESTRICT_SYSCALL_DEATH_TEST(inotify_add_watch);
    206 RESTRICT_SYSCALL_DEATH_TEST(inotify_init);
    207 RESTRICT_SYSCALL_DEATH_TEST(inotify_init1);
    208 RESTRICT_SYSCALL_DEATH_TEST(inotify_rm_watch);
    209 RESTRICT_SYSCALL_DEATH_TEST(io_cancel);
    210 RESTRICT_SYSCALL_DEATH_TEST(io_destroy);
    211 RESTRICT_SYSCALL_DEATH_TEST(io_getevents);
    212 RESTRICT_SYSCALL_DEATH_TEST(io_setup);
    213 RESTRICT_SYSCALL_DEATH_TEST(io_submit);
    214 RESTRICT_SYSCALL_DEATH_TEST(ioctl);
    215 #if defined(__i386__) || defined(__x86_64__)
    216 RESTRICT_SYSCALL_DEATH_TEST(ioperm);
    217 #endif
    218 #if defined(__i386__) || defined(__x86_64__)
    219 RESTRICT_SYSCALL_DEATH_TEST(iopl);
    220 #endif
    221 RESTRICT_SYSCALL_DEATH_TEST(ioprio_get);
    222 RESTRICT_SYSCALL_DEATH_TEST(ioprio_set);
    223 #if defined(__i386__)
    224 RESTRICT_SYSCALL_DEATH_TEST(ipc);
    225 #endif
    226 RESTRICT_SYSCALL_DEATH_TEST(kexec_load);
    227 RESTRICT_SYSCALL_DEATH_TEST(keyctl);
    228 RESTRICT_SYSCALL_DEATH_TEST(kill);
    229 RESTRICT_SYSCALL_DEATH_TEST(lchown);
    230 #if defined(__i386__) || defined(__arm__)
    231 RESTRICT_SYSCALL_DEATH_TEST(lchown32);
    232 #endif
    233 RESTRICT_SYSCALL_DEATH_TEST(lgetxattr);
    234 RESTRICT_SYSCALL_DEATH_TEST(link);
    235 RESTRICT_SYSCALL_DEATH_TEST(linkat);
    236 #if defined(__x86_64__) || defined(__arm__)
    237 RESTRICT_SYSCALL_DEATH_TEST(listen);
    238 #endif
    239 RESTRICT_SYSCALL_DEATH_TEST(listxattr);
    240 RESTRICT_SYSCALL_DEATH_TEST(llistxattr);
    241 #if defined(__i386__)
    242 RESTRICT_SYSCALL_DEATH_TEST(lock);
    243 #endif
    244 RESTRICT_SYSCALL_DEATH_TEST(lookup_dcookie);
    245 RESTRICT_SYSCALL_DEATH_TEST(lremovexattr);
    246 #if defined(__i386__) || defined(__arm__)
    247 RESTRICT_SYSCALL_DEATH_TEST(lseek);
    248 #endif
    249 RESTRICT_SYSCALL_DEATH_TEST(lsetxattr);
    250 RESTRICT_SYSCALL_DEATH_TEST(lstat);
    251 #if defined(__i386__) || defined(__arm__)
    252 RESTRICT_SYSCALL_DEATH_TEST(lstat64);
    253 #endif
    254 RESTRICT_SYSCALL_DEATH_TEST(mbind);
    255 #if defined(__i386__) || defined(__x86_64__)
    256 RESTRICT_SYSCALL_DEATH_TEST(migrate_pages);
    257 #endif
    258 RESTRICT_SYSCALL_DEATH_TEST(mincore);
    259 RESTRICT_SYSCALL_DEATH_TEST(mkdir);
    260 RESTRICT_SYSCALL_DEATH_TEST(mkdirat);
    261 RESTRICT_SYSCALL_DEATH_TEST(mknod);
    262 RESTRICT_SYSCALL_DEATH_TEST(mknodat);
    263 RESTRICT_SYSCALL_DEATH_TEST(mlock);
    264 RESTRICT_SYSCALL_DEATH_TEST(mlockall);
    265 #if defined(__i386__)
    266 RESTRICT_SYSCALL_DEATH_TEST(mmap);
    267 #endif
    268 #if defined(__i386__) || defined(__x86_64__)
    269 RESTRICT_SYSCALL_DEATH_TEST(modify_ldt);
    270 #endif
    271 RESTRICT_SYSCALL_DEATH_TEST(mount);
    272 RESTRICT_SYSCALL_DEATH_TEST(move_pages);
    273 #if defined(__i386__)
    274 RESTRICT_SYSCALL_DEATH_TEST(mpx);
    275 #endif
    276 RESTRICT_SYSCALL_DEATH_TEST(mq_getsetattr);
    277 RESTRICT_SYSCALL_DEATH_TEST(mq_notify);
    278 RESTRICT_SYSCALL_DEATH_TEST(mq_open);
    279 RESTRICT_SYSCALL_DEATH_TEST(mq_timedreceive);
    280 RESTRICT_SYSCALL_DEATH_TEST(mq_timedsend);
    281 RESTRICT_SYSCALL_DEATH_TEST(mq_unlink);
    282 RESTRICT_SYSCALL_DEATH_TEST(mremap);
    283 #if defined(__x86_64__) || defined(__arm__)
    284 RESTRICT_SYSCALL_DEATH_TEST(msgctl);
    285 #endif
    286 #if defined(__x86_64__) || defined(__arm__)
    287 RESTRICT_SYSCALL_DEATH_TEST(msgget);
    288 #endif
    289 #if defined(__x86_64__) || defined(__arm__)
    290 RESTRICT_SYSCALL_DEATH_TEST(msgrcv);
    291 #endif
    292 #if defined(__x86_64__) || defined(__arm__)
    293 RESTRICT_SYSCALL_DEATH_TEST(msgsnd);
    294 #endif
    295 RESTRICT_SYSCALL_DEATH_TEST(msync);
    296 RESTRICT_SYSCALL_DEATH_TEST(munlock);
    297 RESTRICT_SYSCALL_DEATH_TEST(munlockall);
    298 RESTRICT_SYSCALL_DEATH_TEST(name_to_handle_at);
    299 #if defined(__x86_64__)
    300 RESTRICT_SYSCALL_DEATH_TEST(newfstatat);
    301 #endif
    302 RESTRICT_SYSCALL_DEATH_TEST(nfsservctl);
    303 #if defined(__i386__) || defined(__arm__)
    304 RESTRICT_SYSCALL_DEATH_TEST(nice);
    305 #endif
    306 #if defined(__i386__)
    307 RESTRICT_SYSCALL_DEATH_TEST(oldfstat);
    308 #endif
    309 #if defined(__i386__)
    310 RESTRICT_SYSCALL_DEATH_TEST(oldlstat);
    311 #endif
    312 #if defined(__i386__)
    313 RESTRICT_SYSCALL_DEATH_TEST(oldolduname);
    314 #endif
    315 #if defined(__i386__)
    316 RESTRICT_SYSCALL_DEATH_TEST(oldstat);
    317 #endif
    318 #if defined(__i386__)
    319 RESTRICT_SYSCALL_DEATH_TEST(olduname);
    320 #endif
    321 RESTRICT_SYSCALL_DEATH_TEST(open_by_handle_at);
    322 RESTRICT_SYSCALL_DEATH_TEST(openat);
    323 RESTRICT_SYSCALL_DEATH_TEST(pause);
    324 #if defined(__arm__)
    325 RESTRICT_SYSCALL_DEATH_TEST(pciconfig_iobase);
    326 #endif
    327 #if defined(__arm__)
    328 RESTRICT_SYSCALL_DEATH_TEST(pciconfig_read);
    329 #endif
    330 #if defined(__arm__)
    331 RESTRICT_SYSCALL_DEATH_TEST(pciconfig_write);
    332 #endif
    333 RESTRICT_SYSCALL_DEATH_TEST(perf_event_open);
    334 RESTRICT_SYSCALL_DEATH_TEST(personality);
    335 RESTRICT_SYSCALL_DEATH_TEST(pipe2);
    336 RESTRICT_SYSCALL_DEATH_TEST(pivot_root);
    337 RESTRICT_SYSCALL_DEATH_TEST(ppoll);
    338 RESTRICT_SYSCALL_DEATH_TEST(preadv);
    339 RESTRICT_SYSCALL_DEATH_TEST(prlimit64);
    340 RESTRICT_SYSCALL_DEATH_TEST(process_vm_readv);
    341 RESTRICT_SYSCALL_DEATH_TEST(process_vm_writev);
    342 #if defined(__i386__)
    343 RESTRICT_SYSCALL_DEATH_TEST(prof);
    344 #endif
    345 #if defined(__i386__)
    346 RESTRICT_SYSCALL_DEATH_TEST(profil);
    347 #endif
    348 RESTRICT_SYSCALL_DEATH_TEST(pselect6);
    349 #if defined(__i386__) || defined(__x86_64__)
    350 RESTRICT_SYSCALL_DEATH_TEST(putpmsg);
    351 #endif
    352 RESTRICT_SYSCALL_DEATH_TEST(pwritev);
    353 #if defined(__i386__) || defined(__x86_64__)
    354 RESTRICT_SYSCALL_DEATH_TEST(query_module);
    355 #endif
    356 RESTRICT_SYSCALL_DEATH_TEST(quotactl);
    357 RESTRICT_SYSCALL_DEATH_TEST(readahead);
    358 #if defined(__i386__)
    359 RESTRICT_SYSCALL_DEATH_TEST(readdir);
    360 #endif
    361 RESTRICT_SYSCALL_DEATH_TEST(readlink);
    362 RESTRICT_SYSCALL_DEATH_TEST(readlinkat);
    363 RESTRICT_SYSCALL_DEATH_TEST(readv);
    364 RESTRICT_SYSCALL_DEATH_TEST(reboot);
    365 #if defined(__arm__)
    366 RESTRICT_SYSCALL_DEATH_TEST(recv);
    367 #endif
    368 #if defined(__x86_64__) || defined(__arm__)
    369 RESTRICT_SYSCALL_DEATH_TEST(recvfrom);
    370 #endif
    371 RESTRICT_SYSCALL_DEATH_TEST(recvmmsg);
    372 RESTRICT_SYSCALL_DEATH_TEST(remap_file_pages);
    373 RESTRICT_SYSCALL_DEATH_TEST(removexattr);
    374 RESTRICT_SYSCALL_DEATH_TEST(rename);
    375 RESTRICT_SYSCALL_DEATH_TEST(renameat);
    376 RESTRICT_SYSCALL_DEATH_TEST(request_key);
    377 RESTRICT_SYSCALL_DEATH_TEST(rmdir);
    378 RESTRICT_SYSCALL_DEATH_TEST(rt_sigaction);
    379 RESTRICT_SYSCALL_DEATH_TEST(rt_sigpending);
    380 RESTRICT_SYSCALL_DEATH_TEST(rt_sigprocmask);
    381 RESTRICT_SYSCALL_DEATH_TEST(rt_sigqueueinfo);
    382 RESTRICT_SYSCALL_DEATH_TEST(rt_sigreturn);
    383 RESTRICT_SYSCALL_DEATH_TEST(rt_sigsuspend);
    384 RESTRICT_SYSCALL_DEATH_TEST(rt_sigtimedwait);
    385 RESTRICT_SYSCALL_DEATH_TEST(rt_tgsigqueueinfo);
    386 RESTRICT_SYSCALL_DEATH_TEST(sched_get_priority_max);
    387 RESTRICT_SYSCALL_DEATH_TEST(sched_get_priority_min);
    388 RESTRICT_SYSCALL_DEATH_TEST(sched_getaffinity);
    389 RESTRICT_SYSCALL_DEATH_TEST(sched_getparam);
    390 RESTRICT_SYSCALL_DEATH_TEST(sched_getscheduler);
    391 RESTRICT_SYSCALL_DEATH_TEST(sched_rr_get_interval);
    392 RESTRICT_SYSCALL_DEATH_TEST(sched_setaffinity);
    393 RESTRICT_SYSCALL_DEATH_TEST(sched_setparam);
    394 RESTRICT_SYSCALL_DEATH_TEST(sched_setscheduler);
    395 #if defined(__x86_64__)
    396 RESTRICT_SYSCALL_DEATH_TEST(security);
    397 #endif
    398 #if defined(__i386__) || defined(__x86_64__)
    399 RESTRICT_SYSCALL_DEATH_TEST(select);
    400 #endif
    401 #if defined(__x86_64__) || defined(__arm__)
    402 RESTRICT_SYSCALL_DEATH_TEST(semctl);
    403 #endif
    404 #if defined(__x86_64__) || defined(__arm__)
    405 RESTRICT_SYSCALL_DEATH_TEST(semget);
    406 #endif
    407 #if defined(__x86_64__) || defined(__arm__)
    408 RESTRICT_SYSCALL_DEATH_TEST(semop);
    409 #endif
    410 #if defined(__x86_64__) || defined(__arm__)
    411 RESTRICT_SYSCALL_DEATH_TEST(semtimedop);
    412 #endif
    413 #if defined(__arm__)
    414 RESTRICT_SYSCALL_DEATH_TEST(send);
    415 #endif
    416 RESTRICT_SYSCALL_DEATH_TEST(sendfile);
    417 #if defined(__i386__) || defined(__arm__)
    418 RESTRICT_SYSCALL_DEATH_TEST(sendfile64);
    419 #endif
    420 RESTRICT_SYSCALL_DEATH_TEST(sendmmsg);
    421 #if defined(__x86_64__) || defined(__arm__)
    422 RESTRICT_SYSCALL_DEATH_TEST(sendto);
    423 #endif
    424 RESTRICT_SYSCALL_DEATH_TEST(set_mempolicy);
    425 #if defined(__i386__) || defined(__x86_64__)
    426 RESTRICT_SYSCALL_DEATH_TEST(set_thread_area);
    427 #endif
    428 RESTRICT_SYSCALL_DEATH_TEST(set_tid_address);
    429 RESTRICT_SYSCALL_DEATH_TEST(setdomainname);
    430 RESTRICT_SYSCALL_DEATH_TEST(setfsgid);
    431 #if defined(__i386__) || defined(__arm__)
    432 RESTRICT_SYSCALL_DEATH_TEST(setfsgid32);
    433 #endif
    434 RESTRICT_SYSCALL_DEATH_TEST(setfsuid);
    435 #if defined(__i386__) || defined(__arm__)
    436 RESTRICT_SYSCALL_DEATH_TEST(setfsuid32);
    437 #endif
    438 RESTRICT_SYSCALL_DEATH_TEST(setgid);
    439 #if defined(__i386__) || defined(__arm__)
    440 RESTRICT_SYSCALL_DEATH_TEST(setgid32);
    441 #endif
    442 RESTRICT_SYSCALL_DEATH_TEST(setgroups);
    443 #if defined(__i386__) || defined(__arm__)
    444 RESTRICT_SYSCALL_DEATH_TEST(setgroups32);
    445 #endif
    446 RESTRICT_SYSCALL_DEATH_TEST(sethostname);
    447 RESTRICT_SYSCALL_DEATH_TEST(setitimer);
    448 RESTRICT_SYSCALL_DEATH_TEST(setns);
    449 RESTRICT_SYSCALL_DEATH_TEST(setpgid);
    450 RESTRICT_SYSCALL_DEATH_TEST(setpriority);
    451 RESTRICT_SYSCALL_DEATH_TEST(setregid);
    452 #if defined(__i386__) || defined(__arm__)
    453 RESTRICT_SYSCALL_DEATH_TEST(setregid32);
    454 #endif
    455 RESTRICT_SYSCALL_DEATH_TEST(setresgid);
    456 #if defined(__i386__) || defined(__arm__)
    457 RESTRICT_SYSCALL_DEATH_TEST(setresgid32);
    458 #endif
    459 RESTRICT_SYSCALL_DEATH_TEST(setresuid);
    460 #if defined(__i386__) || defined(__arm__)
    461 RESTRICT_SYSCALL_DEATH_TEST(setresuid32);
    462 #endif
    463 RESTRICT_SYSCALL_DEATH_TEST(setreuid);
    464 #if defined(__i386__) || defined(__arm__)
    465 RESTRICT_SYSCALL_DEATH_TEST(setreuid32);
    466 #endif
    467 RESTRICT_SYSCALL_DEATH_TEST(setrlimit);
    468 RESTRICT_SYSCALL_DEATH_TEST(setsid);
    469 #if defined(__x86_64__) || defined(__arm__)
    470 RESTRICT_SYSCALL_DEATH_TEST(setsockopt);
    471 #endif
    472 RESTRICT_SYSCALL_DEATH_TEST(settimeofday);
    473 RESTRICT_SYSCALL_DEATH_TEST(setuid);
    474 #if defined(__i386__) || defined(__arm__)
    475 RESTRICT_SYSCALL_DEATH_TEST(setuid32);
    476 #endif
    477 RESTRICT_SYSCALL_DEATH_TEST(setxattr);
    478 #if defined(__i386__)
    479 RESTRICT_SYSCALL_DEATH_TEST(sgetmask);
    480 #endif
    481 #if defined(__x86_64__) || defined(__arm__)
    482 RESTRICT_SYSCALL_DEATH_TEST(shmat);
    483 #endif
    484 #if defined(__x86_64__) || defined(__arm__)
    485 RESTRICT_SYSCALL_DEATH_TEST(shmctl);
    486 #endif
    487 #if defined(__x86_64__) || defined(__arm__)
    488 RESTRICT_SYSCALL_DEATH_TEST(shmdt);
    489 #endif
    490 #if defined(__x86_64__) || defined(__arm__)
    491 RESTRICT_SYSCALL_DEATH_TEST(shmget);
    492 #endif
    493 #if defined(__i386__) || defined(__arm__)
    494 RESTRICT_SYSCALL_DEATH_TEST(sigaction);
    495 #endif
    496 #if defined(__i386__)
    497 RESTRICT_SYSCALL_DEATH_TEST(signal);
    498 #endif
    499 RESTRICT_SYSCALL_DEATH_TEST(signalfd);
    500 RESTRICT_SYSCALL_DEATH_TEST(signalfd4);
    501 #if defined(__i386__) || defined(__arm__)
    502 RESTRICT_SYSCALL_DEATH_TEST(sigpending);
    503 #endif
    504 #if defined(__i386__) || defined(__arm__)
    505 RESTRICT_SYSCALL_DEATH_TEST(sigprocmask);
    506 #endif
    507 #if defined(__i386__) || defined(__arm__)
    508 RESTRICT_SYSCALL_DEATH_TEST(sigreturn);
    509 #endif
    510 #if defined(__i386__) || defined(__arm__)
    511 RESTRICT_SYSCALL_DEATH_TEST(sigsuspend);
    512 #endif
    513 #if defined(__x86_64__) || defined(__arm__)
    514 RESTRICT_SYSCALL_DEATH_TEST(socket);
    515 #endif
    516 RESTRICT_SYSCALL_DEATH_TEST(splice);
    517 #if defined(__i386__)
    518 RESTRICT_SYSCALL_DEATH_TEST(ssetmask);
    519 #endif
    520 RESTRICT_SYSCALL_DEATH_TEST(stat);
    521 #if defined(__i386__) || defined(__arm__)
    522 RESTRICT_SYSCALL_DEATH_TEST(stat64);
    523 #endif
    524 RESTRICT_SYSCALL_DEATH_TEST(statfs);
    525 #if defined(__i386__) || defined(__arm__)
    526 RESTRICT_SYSCALL_DEATH_TEST(statfs64);
    527 #endif
    528 #if defined(__i386__)
    529 RESTRICT_SYSCALL_DEATH_TEST(stime);
    530 #endif
    531 #if defined(__i386__)
    532 RESTRICT_SYSCALL_DEATH_TEST(stty);
    533 #endif
    534 RESTRICT_SYSCALL_DEATH_TEST(swapoff);
    535 RESTRICT_SYSCALL_DEATH_TEST(swapon);
    536 RESTRICT_SYSCALL_DEATH_TEST(symlink);
    537 RESTRICT_SYSCALL_DEATH_TEST(symlinkat);
    538 RESTRICT_SYSCALL_DEATH_TEST(sync);
    539 #if defined(__i386__) || defined(__x86_64__)
    540 RESTRICT_SYSCALL_DEATH_TEST(sync_file_range);
    541 #endif
    542 #if defined(__arm__)
    543 RESTRICT_SYSCALL_DEATH_TEST(sync_file_range2);
    544 #endif
    545 RESTRICT_SYSCALL_DEATH_TEST(syncfs);
    546 RESTRICT_SYSCALL_DEATH_TEST(sysfs);
    547 RESTRICT_SYSCALL_DEATH_TEST(sysinfo);
    548 RESTRICT_SYSCALL_DEATH_TEST(syslog);
    549 RESTRICT_SYSCALL_DEATH_TEST(tee);
    550 RESTRICT_SYSCALL_DEATH_TEST(tgkill);
    551 RESTRICT_SYSCALL_DEATH_TEST(timer_create);
    552 RESTRICT_SYSCALL_DEATH_TEST(timer_delete);
    553 RESTRICT_SYSCALL_DEATH_TEST(timer_getoverrun);
    554 RESTRICT_SYSCALL_DEATH_TEST(timer_gettime);
    555 RESTRICT_SYSCALL_DEATH_TEST(timer_settime);
    556 RESTRICT_SYSCALL_DEATH_TEST(timerfd_create);
    557 RESTRICT_SYSCALL_DEATH_TEST(timerfd_gettime);
    558 RESTRICT_SYSCALL_DEATH_TEST(timerfd_settime);
    559 RESTRICT_SYSCALL_DEATH_TEST(tkill);
    560 RESTRICT_SYSCALL_DEATH_TEST(truncate);
    561 #if defined(__i386__) || defined(__arm__)
    562 RESTRICT_SYSCALL_DEATH_TEST(truncate64);
    563 #endif
    564 #if defined(__x86_64__)
    565 RESTRICT_SYSCALL_DEATH_TEST(tuxcall);
    566 #endif
    567 #if defined(__i386__) || defined(__arm__)
    568 RESTRICT_SYSCALL_DEATH_TEST(ugetrlimit);
    569 #endif
    570 #if defined(__i386__)
    571 RESTRICT_SYSCALL_DEATH_TEST(ulimit);
    572 #endif
    573 RESTRICT_SYSCALL_DEATH_TEST(umask);
    574 #if defined(__i386__)
    575 RESTRICT_SYSCALL_DEATH_TEST(umount);
    576 #endif
    577 RESTRICT_SYSCALL_DEATH_TEST(umount2);
    578 RESTRICT_SYSCALL_DEATH_TEST(uname);
    579 RESTRICT_SYSCALL_DEATH_TEST(unlink);
    580 RESTRICT_SYSCALL_DEATH_TEST(unlinkat);
    581 RESTRICT_SYSCALL_DEATH_TEST(unshare);
    582 RESTRICT_SYSCALL_DEATH_TEST(uselib);
    583 RESTRICT_SYSCALL_DEATH_TEST(ustat);
    584 #if defined(__i386__) || defined(__x86_64__)
    585 RESTRICT_SYSCALL_DEATH_TEST(utime);
    586 #endif
    587 RESTRICT_SYSCALL_DEATH_TEST(utimensat);
    588 RESTRICT_SYSCALL_DEATH_TEST(utimes);
    589 RESTRICT_SYSCALL_DEATH_TEST(vfork);
    590 RESTRICT_SYSCALL_DEATH_TEST(vhangup);
    591 #if defined(__i386__)
    592 RESTRICT_SYSCALL_DEATH_TEST(vm86);
    593 #endif
    594 #if defined(__i386__)
    595 RESTRICT_SYSCALL_DEATH_TEST(vm86old);
    596 #endif
    597 RESTRICT_SYSCALL_DEATH_TEST(vmsplice);
    598 RESTRICT_SYSCALL_DEATH_TEST(vserver);
    599 RESTRICT_SYSCALL_DEATH_TEST(wait4);
    600 RESTRICT_SYSCALL_DEATH_TEST(waitid);
    601 #if defined(__i386__)
    602 RESTRICT_SYSCALL_DEATH_TEST(waitpid);
    603 #endif
    604 RESTRICT_SYSCALL_DEATH_TEST(writev);
    605 
    606 // ARM specific syscalls.
    607 #if defined(__arm__)
    608 RESTRICT_ARM_SYSCALL_DEATH_TEST(breakpoint);
    609 RESTRICT_ARM_SYSCALL_DEATH_TEST(usr26);
    610 RESTRICT_ARM_SYSCALL_DEATH_TEST(usr32);
    611 RESTRICT_ARM_SYSCALL_DEATH_TEST(set_tls);
    612 #endif
    613 
    614 }  // namespace
    615 
    616 #endif  // !ADDRESS_SANITIZER && !THREAD_SANITIZER
    617