Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / nacl / loader / nonsfi / nonsfi_sandbox_sigsys_unittest.cc
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 // Sanitizers internally use some syscalls which non-SFI NaCl disallows.
6 #if !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER) && \
7     !defined(MEMORY_SANITIZER) && !defined(LEAK_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         // !MEMORY_SANITIZER && !LEAK_SANITIZER