1 //===-- sanitizer_syscalls_netbsd.inc ---------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // Common syscalls handlers for tools like AddressSanitizer,
10 // ThreadSanitizer, MemorySanitizer, etc.
12 // This file should be included into the tool's interceptor file,
13 // which has to define it's own macros:
14 // COMMON_SYSCALL_PRE_READ_RANGE
15 // Called in prehook for regions that will be read by the kernel and
16 // must be initialized.
17 // COMMON_SYSCALL_PRE_WRITE_RANGE
18 // Called in prehook for regions that will be written to by the kernel
19 // and must be addressable. The actual write range may be smaller than
20 // reported in the prehook. See POST_WRITE_RANGE.
21 // COMMON_SYSCALL_POST_READ_RANGE
22 // Called in posthook for regions that were read by the kernel. Does
23 // not make much sense.
24 // COMMON_SYSCALL_POST_WRITE_RANGE
25 // Called in posthook for regions that were written to by the kernel
26 // and are now initialized.
27 // COMMON_SYSCALL_ACQUIRE(addr)
28 // Acquire memory visibility from addr.
29 // COMMON_SYSCALL_RELEASE(addr)
30 // Release memory visibility to addr.
31 // COMMON_SYSCALL_FD_CLOSE(fd)
32 // Called before closing file descriptor fd.
33 // COMMON_SYSCALL_FD_ACQUIRE(fd)
34 // Acquire memory visibility from fd.
35 // COMMON_SYSCALL_FD_RELEASE(fd)
36 // Release memory visibility to fd.
37 // COMMON_SYSCALL_PRE_FORK()
38 // Called before fork syscall.
39 // COMMON_SYSCALL_POST_FORK(long long res)
40 // Called after fork syscall.
42 // DO NOT EDIT! THIS FILE HAS BEEN GENERATED!
44 // Generated with: generate_netbsd_syscalls.awk
45 // Generated date: 2018-10-30
46 // Generated from: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp
48 //===----------------------------------------------------------------------===//
50 #include "sanitizer_platform.h"
53 #include "sanitizer_libc.h"
55 #define PRE_SYSCALL(name) \
56 SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_pre_impl_##name
57 #define PRE_READ(p, s) COMMON_SYSCALL_PRE_READ_RANGE(p, s)
58 #define PRE_WRITE(p, s) COMMON_SYSCALL_PRE_WRITE_RANGE(p, s)
60 #define POST_SYSCALL(name) \
61 SANITIZER_INTERFACE_ATTRIBUTE void __sanitizer_syscall_post_impl_##name
62 #define POST_READ(p, s) COMMON_SYSCALL_POST_READ_RANGE(p, s)
63 #define POST_WRITE(p, s) COMMON_SYSCALL_POST_WRITE_RANGE(p, s)
65 #ifndef COMMON_SYSCALL_ACQUIRE
66 #define COMMON_SYSCALL_ACQUIRE(addr) ((void)(addr))
69 #ifndef COMMON_SYSCALL_RELEASE
70 #define COMMON_SYSCALL_RELEASE(addr) ((void)(addr))
73 #ifndef COMMON_SYSCALL_FD_CLOSE
74 #define COMMON_SYSCALL_FD_CLOSE(fd) ((void)(fd))
77 #ifndef COMMON_SYSCALL_FD_ACQUIRE
78 #define COMMON_SYSCALL_FD_ACQUIRE(fd) ((void)(fd))
81 #ifndef COMMON_SYSCALL_FD_RELEASE
82 #define COMMON_SYSCALL_FD_RELEASE(fd) ((void)(fd))
85 #ifndef COMMON_SYSCALL_PRE_FORK
86 #define COMMON_SYSCALL_PRE_FORK() \
90 #ifndef COMMON_SYSCALL_POST_FORK
91 #define COMMON_SYSCALL_POST_FORK(res) \
95 // FIXME: do some kind of PRE_READ for all syscall arguments (int(s) and such).
98 #define SYS_MAXSYSARGS 8
99 PRE_SYSCALL(syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
102 POST_SYSCALL(syscall)
103 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
106 PRE_SYSCALL(exit)(long long rval_) { /* Nothing to do */ }
107 POST_SYSCALL(exit)(long long res, long long rval_) { /* Nothing to do */ }
108 PRE_SYSCALL(fork)(void) { COMMON_SYSCALL_PRE_FORK(); }
109 POST_SYSCALL(fork)(long long res) { COMMON_SYSCALL_POST_FORK(res); }
110 PRE_SYSCALL(read)(long long fd_, void *buf_, long long nbyte_) {
112 PRE_WRITE(buf_, nbyte_);
115 POST_SYSCALL(read)(long long res, long long fd_, void *buf_, long long nbyte_) {
117 POST_WRITE(buf_, res);
120 PRE_SYSCALL(write)(long long fd_, void *buf_, long long nbyte_) {
122 PRE_READ(buf_, nbyte_);
126 (long long res, long long fd_, void *buf_, long long nbyte_) {
128 POST_READ(buf_, res);
131 PRE_SYSCALL(open)(void *path_, long long flags_, long long mode_) {
132 const char *path = (const char *)path_;
134 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
138 (long long res, void *path_, long long flags_, long long mode_) {
140 const char *path = (const char *)path_;
142 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
146 PRE_SYSCALL(close)(long long fd_) { COMMON_SYSCALL_FD_CLOSE((int)fd_); }
147 POST_SYSCALL(close)(long long res, long long fd_) { /* Nothing to do */ }
148 PRE_SYSCALL(compat_50_wait4)
149 (long long pid_, void *status_, long long options_, void *rusage_) {
152 POST_SYSCALL(compat_50_wait4)
153 (long long res, long long pid_, void *status_, long long options_,
157 PRE_SYSCALL(compat_43_ocreat)(void *path_, long long mode_) { /* TODO */ }
158 POST_SYSCALL(compat_43_ocreat)(long long res, void *path_, long long mode_) {
161 PRE_SYSCALL(link)(void *path_, void *link_) {
162 const char *path = (const char *)path_;
163 const char *link = (const char *)link_;
165 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
168 PRE_READ(path, __sanitizer::internal_strlen(link) + 1);
171 POST_SYSCALL(link)(long long res, void *path_, void *link_) {
173 const char *path = (const char *)path_;
174 const char *link = (const char *)link_;
176 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
179 POST_READ(path, __sanitizer::internal_strlen(link) + 1);
183 PRE_SYSCALL(unlink)(void *path_) {
184 const char *path = (const char *)path_;
186 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
189 POST_SYSCALL(unlink)(long long res, void *path_) {
191 const char *path = (const char *)path_;
193 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
197 /* syscall 11 has been skipped */
198 PRE_SYSCALL(chdir)(void *path_) {
199 const char *path = (const char *)path_;
201 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
204 POST_SYSCALL(chdir)(long long res, void *path_) {
206 const char *path = (const char *)path_;
208 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
212 PRE_SYSCALL(fchdir)(long long fd_) { /* Nothing to do */ }
213 POST_SYSCALL(fchdir)(long long res, long long fd_) { /* Nothing to do */ }
214 PRE_SYSCALL(compat_50_mknod)(void *path_, long long mode_, long long dev_) {
217 POST_SYSCALL(compat_50_mknod)
218 (long long res, void *path_, long long mode_, long long dev_) {
221 PRE_SYSCALL(chmod)(void *path_, long long mode_) {
222 const char *path = (const char *)path_;
224 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
227 POST_SYSCALL(chmod)(long long res, void *path_, long long mode_) {
229 const char *path = (const char *)path_;
231 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
235 PRE_SYSCALL(chown)(void *path_, long long uid_, long long gid_) {
236 const char *path = (const char *)path_;
238 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
242 (long long res, void *path_, long long uid_, long long gid_) {
244 const char *path = (const char *)path_;
246 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
250 PRE_SYSCALL(break)(void *nsize_) { /* Nothing to do */ }
251 POST_SYSCALL(break)(long long res, void *nsize_) { /* Nothing to do */ }
252 PRE_SYSCALL(compat_20_getfsstat)
253 (void *buf_, long long bufsize_, long long flags_) {
256 POST_SYSCALL(compat_20_getfsstat)
257 (long long res, void *buf_, long long bufsize_, long long flags_) {
260 PRE_SYSCALL(compat_43_olseek)
261 (long long fd_, long long offset_, long long whence_) {
264 POST_SYSCALL(compat_43_olseek)
265 (long long res, long long fd_, long long offset_, long long whence_) {
268 PRE_SYSCALL(getpid)(void) { /* Nothing to do */ }
269 POST_SYSCALL(getpid)(long long res) { /* Nothing to do */ }
270 PRE_SYSCALL(compat_40_mount)
271 (void *type_, void *path_, long long flags_, void *data_) {
274 POST_SYSCALL(compat_40_mount)
275 (long long res, void *type_, void *path_, long long flags_, void *data_) {
278 PRE_SYSCALL(unmount)(void *path_, long long flags_) {
279 const char *path = (const char *)path_;
281 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
284 POST_SYSCALL(unmount)(long long res, void *path_, long long flags_) {
286 const char *path = (const char *)path_;
288 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
292 PRE_SYSCALL(setuid)(long long uid_) { /* Nothing to do */ }
293 POST_SYSCALL(setuid)(long long res, long long uid_) { /* Nothing to do */ }
294 PRE_SYSCALL(getuid)(void) { /* Nothing to do */ }
295 POST_SYSCALL(getuid)(long long res) { /* Nothing to do */ }
296 PRE_SYSCALL(geteuid)(void) { /* Nothing to do */ }
297 POST_SYSCALL(geteuid)(long long res) { /* Nothing to do */ }
299 (long long req_, long long pid_, void *addr_, long long data_) {
300 if (req_ == ptrace_pt_io) {
301 struct __sanitizer_ptrace_io_desc *addr =
302 (struct __sanitizer_ptrace_io_desc *)addr_;
303 PRE_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
304 if (addr->piod_op == ptrace_piod_write_d ||
305 addr->piod_op == ptrace_piod_write_i) {
306 PRE_READ(addr->piod_addr, addr->piod_len);
308 if (addr->piod_op == ptrace_piod_read_d ||
309 addr->piod_op == ptrace_piod_read_i ||
310 addr->piod_op == ptrace_piod_read_auxv) {
311 PRE_WRITE(addr->piod_addr, addr->piod_len);
313 } else if (req_ == ptrace_pt_lwpinfo) {
314 struct __sanitizer_ptrace_lwpinfo *addr =
315 (struct __sanitizer_ptrace_lwpinfo *)addr_;
316 PRE_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
317 PRE_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
318 } else if (req_ == ptrace_pt_set_event_mask) {
319 PRE_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
320 } else if (req_ == ptrace_pt_get_event_mask) {
321 PRE_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
322 } else if (req_ == ptrace_pt_set_siginfo) {
323 PRE_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
324 } else if (req_ == ptrace_pt_get_siginfo) {
325 PRE_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
326 } else if (req_ == ptrace_pt_setregs) {
327 PRE_READ(addr_, struct_ptrace_reg_struct_sz);
328 } else if (req_ == ptrace_pt_getregs) {
329 PRE_WRITE(addr_, struct_ptrace_reg_struct_sz);
330 } else if (req_ == ptrace_pt_setfpregs) {
331 PRE_READ(addr_, struct_ptrace_fpreg_struct_sz);
332 } else if (req_ == ptrace_pt_getfpregs) {
333 PRE_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
334 } else if (req_ == ptrace_pt_setdbregs) {
335 PRE_READ(addr_, struct_ptrace_dbreg_struct_sz);
336 } else if (req_ == ptrace_pt_getdbregs) {
337 PRE_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
341 (long long res, long long req_, long long pid_, void *addr_, long long data_) {
343 if (req_ == ptrace_pt_io) {
344 struct __sanitizer_ptrace_io_desc *addr =
345 (struct __sanitizer_ptrace_io_desc *)addr_;
346 POST_READ(addr, struct_ptrace_ptrace_io_desc_struct_sz);
347 if (addr->piod_op == ptrace_piod_write_d ||
348 addr->piod_op == ptrace_piod_write_i) {
349 POST_READ(addr->piod_addr, addr->piod_len);
351 if (addr->piod_op == ptrace_piod_read_d ||
352 addr->piod_op == ptrace_piod_read_i ||
353 addr->piod_op == ptrace_piod_read_auxv) {
354 POST_WRITE(addr->piod_addr, addr->piod_len);
356 } else if (req_ == ptrace_pt_lwpinfo) {
357 struct __sanitizer_ptrace_lwpinfo *addr =
358 (struct __sanitizer_ptrace_lwpinfo *)addr_;
359 POST_READ(&addr->pl_lwpid, sizeof(__sanitizer_lwpid_t));
360 POST_WRITE(addr, struct_ptrace_ptrace_lwpinfo_struct_sz);
361 } else if (req_ == ptrace_pt_set_event_mask) {
362 POST_READ(addr_, struct_ptrace_ptrace_event_struct_sz);
363 } else if (req_ == ptrace_pt_get_event_mask) {
364 POST_WRITE(addr_, struct_ptrace_ptrace_event_struct_sz);
365 } else if (req_ == ptrace_pt_set_siginfo) {
366 POST_READ(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
367 } else if (req_ == ptrace_pt_get_siginfo) {
368 POST_WRITE(addr_, struct_ptrace_ptrace_siginfo_struct_sz);
369 } else if (req_ == ptrace_pt_setregs) {
370 POST_READ(addr_, struct_ptrace_reg_struct_sz);
371 } else if (req_ == ptrace_pt_getregs) {
372 POST_WRITE(addr_, struct_ptrace_reg_struct_sz);
373 } else if (req_ == ptrace_pt_setfpregs) {
374 POST_READ(addr_, struct_ptrace_fpreg_struct_sz);
375 } else if (req_ == ptrace_pt_getfpregs) {
376 POST_WRITE(addr_, struct_ptrace_fpreg_struct_sz);
377 } else if (req_ == ptrace_pt_setdbregs) {
378 POST_READ(addr_, struct_ptrace_dbreg_struct_sz);
379 } else if (req_ == ptrace_pt_getdbregs) {
380 POST_WRITE(addr_, struct_ptrace_dbreg_struct_sz);
384 PRE_SYSCALL(recvmsg)(long long s_, void *msg_, long long flags_) {
385 PRE_WRITE(msg_, sizeof(__sanitizer_msghdr));
387 POST_SYSCALL(recvmsg)
388 (long long res, long long s_, void *msg_, long long flags_) {
390 POST_WRITE(msg_, sizeof(__sanitizer_msghdr));
393 PRE_SYSCALL(sendmsg)(long long s_, void *msg_, long long flags_) {
394 PRE_READ(msg_, sizeof(__sanitizer_msghdr));
396 POST_SYSCALL(sendmsg)
397 (long long res, long long s_, void *msg_, long long flags_) {
399 POST_READ(msg_, sizeof(__sanitizer_msghdr));
402 PRE_SYSCALL(recvfrom)
403 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
404 void *fromlenaddr_) {
405 PRE_WRITE(buf_, len_);
406 PRE_WRITE(from_, struct_sockaddr_sz);
407 PRE_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
409 POST_SYSCALL(recvfrom)
410 (long long res, long long s_, void *buf_, long long len_, long long flags_,
411 void *from_, void *fromlenaddr_) {
413 POST_WRITE(buf_, res);
414 POST_WRITE(from_, struct_sockaddr_sz);
415 POST_WRITE(fromlenaddr_, sizeof(__sanitizer_socklen_t));
418 PRE_SYSCALL(accept)(long long s_, void *name_, void *anamelen_) {
419 PRE_WRITE(name_, struct_sockaddr_sz);
420 PRE_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
423 (long long res, long long s_, void *name_, void *anamelen_) {
425 POST_WRITE(name_, struct_sockaddr_sz);
426 POST_WRITE(anamelen_, sizeof(__sanitizer_socklen_t));
429 PRE_SYSCALL(getpeername)(long long fdes_, void *asa_, void *alen_) {
430 PRE_WRITE(asa_, struct_sockaddr_sz);
431 PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
433 POST_SYSCALL(getpeername)
434 (long long res, long long fdes_, void *asa_, void *alen_) {
436 POST_WRITE(asa_, struct_sockaddr_sz);
437 POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
440 PRE_SYSCALL(getsockname)(long long fdes_, void *asa_, void *alen_) {
441 PRE_WRITE(asa_, struct_sockaddr_sz);
442 PRE_WRITE(alen_, sizeof(__sanitizer_socklen_t));
444 POST_SYSCALL(getsockname)
445 (long long res, long long fdes_, void *asa_, void *alen_) {
447 POST_WRITE(asa_, struct_sockaddr_sz);
448 POST_WRITE(alen_, sizeof(__sanitizer_socklen_t));
451 PRE_SYSCALL(access)(void *path_, long long flags_) {
452 const char *path = (const char *)path_;
454 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
457 POST_SYSCALL(access)(long long res, void *path_, long long flags_) {
459 const char *path = (const char *)path_;
461 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
465 PRE_SYSCALL(chflags)(void *path_, long long flags_) {
466 const char *path = (const char *)path_;
468 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
471 POST_SYSCALL(chflags)(long long res, void *path_, long long flags_) {
473 const char *path = (const char *)path_;
475 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
479 PRE_SYSCALL(fchflags)(long long fd_, long long flags_) { /* Nothing to do */ }
480 POST_SYSCALL(fchflags)(long long res, long long fd_, long long flags_) {
483 PRE_SYSCALL(sync)(void) { /* Nothing to do */ }
484 POST_SYSCALL(sync)(long long res) { /* Nothing to do */ }
485 PRE_SYSCALL(kill)(long long pid_, long long signum_) { /* Nothing to do */ }
486 POST_SYSCALL(kill)(long long res, long long pid_, long long signum_) {
489 PRE_SYSCALL(compat_43_stat43)(void *path_, void *ub_) { /* TODO */ }
490 POST_SYSCALL(compat_43_stat43)(long long res, void *path_, void *ub_) {
493 PRE_SYSCALL(getppid)(void) { /* Nothing to do */ }
494 POST_SYSCALL(getppid)(long long res) { /* Nothing to do */ }
495 PRE_SYSCALL(compat_43_lstat43)(void *path_, void *ub_) { /* TODO */ }
496 POST_SYSCALL(compat_43_lstat43)(long long res, void *path_, void *ub_) {
499 PRE_SYSCALL(dup)(long long fd_) { /* Nothing to do */ }
500 POST_SYSCALL(dup)(long long res, long long fd_) { /* Nothing to do */ }
501 PRE_SYSCALL(pipe)(void) {
502 /* pipe returns two descriptors through two returned values */
504 POST_SYSCALL(pipe)(long long res) {
505 /* pipe returns two descriptors through two returned values */
507 PRE_SYSCALL(getegid)(void) { /* Nothing to do */ }
508 POST_SYSCALL(getegid)(long long res) { /* Nothing to do */ }
510 (void *samples_, long long size_, long long offset_, long long scale_) {
512 PRE_WRITE(samples_, size_);
516 (long long res, void *samples_, long long size_, long long offset_,
520 POST_WRITE(samples_, size_);
525 (void *fname_, long long ops_, long long facs_, long long pid_) {
526 const char *fname = (const char *)fname_;
528 PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
532 (long long res, void *fname_, long long ops_, long long facs_, long long pid_) {
533 const char *fname = (const char *)fname_;
536 POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
540 PRE_SYSCALL(compat_13_sigaction13)(long long signum_, void *nsa_, void *osa_) {
543 POST_SYSCALL(compat_13_sigaction13)
544 (long long res, long long signum_, void *nsa_, void *osa_) {
547 PRE_SYSCALL(getgid)(void) { /* Nothing to do */ }
548 POST_SYSCALL(getgid)(long long res) { /* Nothing to do */ }
549 PRE_SYSCALL(compat_13_sigprocmask13)(long long how_, long long mask_) {
552 POST_SYSCALL(compat_13_sigprocmask13)
553 (long long res, long long how_, long long mask_) {
556 PRE_SYSCALL(__getlogin)(void *namebuf_, long long namelen_) {
558 PRE_WRITE(namebuf_, namelen_);
561 POST_SYSCALL(__getlogin)(long long res, void *namebuf_, long long namelen_) {
564 POST_WRITE(namebuf_, namelen_);
568 PRE_SYSCALL(__setlogin)(void *namebuf_) {
569 const char *namebuf = (const char *)namebuf_;
571 PRE_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
574 POST_SYSCALL(__setlogin)(long long res, void *namebuf_) {
576 const char *namebuf = (const char *)namebuf_;
578 POST_READ(namebuf, __sanitizer::internal_strlen(namebuf) + 1);
582 PRE_SYSCALL(acct)(void *path_) {
583 const char *path = (const char *)path_;
585 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
588 POST_SYSCALL(acct)(long long res, void *path_) {
590 const char *path = (const char *)path_;
592 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
596 PRE_SYSCALL(compat_13_sigpending13)(void) { /* TODO */ }
597 POST_SYSCALL(compat_13_sigpending13)(long long res) { /* TODO */ }
598 PRE_SYSCALL(compat_13_sigaltstack13)(void *nss_, void *oss_) { /* TODO */ }
599 POST_SYSCALL(compat_13_sigaltstack13)(long long res, void *nss_, void *oss_) {
602 PRE_SYSCALL(ioctl)(long long fd_, long long com_, void *data_) {
605 POST_SYSCALL(ioctl)(long long res, long long fd_, long long com_, void *data_) {
608 PRE_SYSCALL(compat_12_oreboot)(long long opt_) { /* TODO */ }
609 POST_SYSCALL(compat_12_oreboot)(long long res, long long opt_) { /* TODO */ }
610 PRE_SYSCALL(revoke)(void *path_) {
611 const char *path = (const char *)path_;
613 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
616 POST_SYSCALL(revoke)(long long res, void *path_) {
618 const char *path = (const char *)path_;
620 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
624 PRE_SYSCALL(symlink)(void *path_, void *link_) {
625 const char *path = (const char *)path_;
626 const char *link = (const char *)link_;
628 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
631 PRE_READ(link, __sanitizer::internal_strlen(link) + 1);
634 POST_SYSCALL(symlink)(long long res, void *path_, void *link_) {
636 const char *path = (const char *)path_;
637 const char *link = (const char *)link_;
639 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
642 POST_READ(link, __sanitizer::internal_strlen(link) + 1);
646 PRE_SYSCALL(readlink)(void *path_, void *buf_, long long count_) {
647 const char *path = (const char *)path_;
649 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
652 PRE_WRITE(buf_, count_);
655 POST_SYSCALL(readlink)
656 (long long res, void *path_, void *buf_, long long count_) {
658 const char *path = (const char *)path_;
660 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
663 PRE_WRITE(buf_, res);
667 PRE_SYSCALL(execve)(void *path_, void *argp_, void *envp_) {
668 const char *path = (const char *)path_;
669 char **argp = (char **)argp_;
670 char **envp = (char **)envp_;
672 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
674 if (argp && argp[0]) {
677 PRE_READ(a, __sanitizer::internal_strlen(a) + 1);
680 if (envp && envp[0]) {
683 PRE_READ(e, __sanitizer::internal_strlen(e) + 1);
687 POST_SYSCALL(execve)(long long res, void *path_, void *argp_, void *envp_) {
688 /* If we are here, something went wrong */
689 const char *path = (const char *)path_;
690 char **argp = (char **)argp_;
691 char **envp = (char **)envp_;
693 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
695 if (argp && argp[0]) {
698 POST_READ(a, __sanitizer::internal_strlen(a) + 1);
701 if (envp && envp[0]) {
704 POST_READ(e, __sanitizer::internal_strlen(e) + 1);
708 PRE_SYSCALL(umask)(long long newmask_) { /* Nothing to do */ }
709 POST_SYSCALL(umask)(long long res, long long newmask_) { /* Nothing to do */ }
710 PRE_SYSCALL(chroot)(void *path_) {
711 const char *path = (const char *)path_;
713 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
716 POST_SYSCALL(chroot)(long long res, void *path_) {
718 const char *path = (const char *)path_;
720 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
724 PRE_SYSCALL(compat_43_fstat43)(long long fd_, void *sb_) { /* TODO */ }
725 POST_SYSCALL(compat_43_fstat43)(long long res, long long fd_, void *sb_) {
728 PRE_SYSCALL(compat_43_ogetkerninfo)
729 (long long op_, void *where_, void *size_, long long arg_) {
732 POST_SYSCALL(compat_43_ogetkerninfo)
733 (long long res, long long op_, void *where_, void *size_, long long arg_) {
736 PRE_SYSCALL(compat_43_ogetpagesize)(void) { /* TODO */ }
737 POST_SYSCALL(compat_43_ogetpagesize)(long long res) { /* TODO */ }
738 PRE_SYSCALL(compat_12_msync)(void *addr_, long long len_) { /* TODO */ }
739 POST_SYSCALL(compat_12_msync)(long long res, void *addr_, long long len_) {
742 PRE_SYSCALL(vfork)(void) { /* Nothing to do */ }
743 POST_SYSCALL(vfork)(long long res) { /* Nothing to do */ }
744 /* syscall 67 has been skipped */
745 /* syscall 68 has been skipped */
746 /* syscall 69 has been skipped */
747 /* syscall 70 has been skipped */
748 PRE_SYSCALL(compat_43_ommap)
749 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
753 POST_SYSCALL(compat_43_ommap)
754 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
755 long long fd_, long long pos_) {
758 PRE_SYSCALL(vadvise)(long long anom_) { /* Nothing to do */ }
759 POST_SYSCALL(vadvise)(long long res, long long anom_) { /* Nothing to do */ }
760 PRE_SYSCALL(munmap)(void *addr_, long long len_) { /* Nothing to do */ }
761 POST_SYSCALL(munmap)(long long res, void *addr_, long long len_) {
764 PRE_SYSCALL(mprotect)(void *addr_, long long len_, long long prot_) {
767 POST_SYSCALL(mprotect)
768 (long long res, void *addr_, long long len_, long long prot_) {
771 PRE_SYSCALL(madvise)(void *addr_, long long len_, long long behav_) {
774 POST_SYSCALL(madvise)
775 (long long res, void *addr_, long long len_, long long behav_) {
778 /* syscall 76 has been skipped */
779 /* syscall 77 has been skipped */
780 PRE_SYSCALL(mincore)(void *addr_, long long len_, void *vec_) {
783 POST_SYSCALL(mincore)(long long res, void *addr_, long long len_, void *vec_) {
786 PRE_SYSCALL(getgroups)(long long gidsetsize_, void *gidset_) {
787 unsigned int *gidset = (unsigned int *)gidset_;
789 PRE_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
792 POST_SYSCALL(getgroups)(long long res, long long gidsetsize_, void *gidset_) {
794 unsigned int *gidset = (unsigned int *)gidset_;
796 POST_WRITE(gidset, sizeof(*gidset) * gidsetsize_);
800 PRE_SYSCALL(setgroups)(long long gidsetsize_, void *gidset_) {
801 unsigned int *gidset = (unsigned int *)gidset_;
803 PRE_READ(gidset, sizeof(*gidset) * gidsetsize_);
806 POST_SYSCALL(setgroups)(long long res, long long gidsetsize_, void *gidset_) {
808 unsigned int *gidset = (unsigned int *)gidset_;
810 POST_READ(gidset, sizeof(*gidset) * gidsetsize_);
814 PRE_SYSCALL(getpgrp)(void) { /* Nothing to do */ }
815 POST_SYSCALL(getpgrp)(long long res) { /* Nothing to do */ }
816 PRE_SYSCALL(setpgid)(long long pid_, long long pgid_) { /* Nothing to do */ }
817 POST_SYSCALL(setpgid)(long long res, long long pid_, long long pgid_) {
820 PRE_SYSCALL(compat_50_setitimer)(long long which_, void *itv_, void *oitv_) {
823 POST_SYSCALL(compat_50_setitimer)
824 (long long res, long long which_, void *itv_, void *oitv_) {
827 PRE_SYSCALL(compat_43_owait)(void) { /* TODO */ }
828 POST_SYSCALL(compat_43_owait)(long long res) { /* TODO */ }
829 PRE_SYSCALL(compat_12_oswapon)(void *name_) { /* TODO */ }
830 POST_SYSCALL(compat_12_oswapon)(long long res, void *name_) { /* TODO */ }
831 PRE_SYSCALL(compat_50_getitimer)(long long which_, void *itv_) { /* TODO */ }
832 POST_SYSCALL(compat_50_getitimer)(long long res, long long which_, void *itv_) {
835 PRE_SYSCALL(compat_43_ogethostname)(void *hostname_, long long len_) {
838 POST_SYSCALL(compat_43_ogethostname)
839 (long long res, void *hostname_, long long len_) {
842 PRE_SYSCALL(compat_43_osethostname)(void *hostname_, long long len_) {
845 POST_SYSCALL(compat_43_osethostname)
846 (long long res, void *hostname_, long long len_) {
849 PRE_SYSCALL(compat_43_ogetdtablesize)(void) { /* TODO */ }
850 POST_SYSCALL(compat_43_ogetdtablesize)(long long res) { /* TODO */ }
851 PRE_SYSCALL(dup2)(long long from_, long long to_) { /* Nothing to do */ }
852 POST_SYSCALL(dup2)(long long res, long long from_, long long to_) {
855 /* syscall 91 has been skipped */
856 PRE_SYSCALL(fcntl)(long long fd_, long long cmd_, void *arg_) {
859 POST_SYSCALL(fcntl)(long long res, long long fd_, long long cmd_, void *arg_) {
862 PRE_SYSCALL(compat_50_select)
863 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
866 POST_SYSCALL(compat_50_select)
867 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
870 /* syscall 94 has been skipped */
871 PRE_SYSCALL(fsync)(long long fd_) { /* Nothing to do */ }
872 POST_SYSCALL(fsync)(long long res, long long fd_) { /* Nothing to do */ }
873 PRE_SYSCALL(setpriority)(long long which_, long long who_, long long prio_) {
876 POST_SYSCALL(setpriority)
877 (long long res, long long which_, long long who_, long long prio_) {
880 PRE_SYSCALL(compat_30_socket)
881 (long long domain_, long long type_, long long protocol_) {
884 POST_SYSCALL(compat_30_socket)
885 (long long res, long long domain_, long long type_, long long protocol_) {
888 PRE_SYSCALL(connect)(long long s_, void *name_, long long namelen_) {
889 PRE_READ(name_, namelen_);
891 POST_SYSCALL(connect)
892 (long long res, long long s_, void *name_, long long namelen_) {
894 POST_READ(name_, namelen_);
897 PRE_SYSCALL(compat_43_oaccept)(long long s_, void *name_, void *anamelen_) {
900 POST_SYSCALL(compat_43_oaccept)
901 (long long res, long long s_, void *name_, void *anamelen_) {
904 PRE_SYSCALL(getpriority)(long long which_, long long who_) {
907 POST_SYSCALL(getpriority)(long long res, long long which_, long long who_) {
910 PRE_SYSCALL(compat_43_osend)
911 (long long s_, void *buf_, long long len_, long long flags_) {
914 POST_SYSCALL(compat_43_osend)
915 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
918 PRE_SYSCALL(compat_43_orecv)
919 (long long s_, void *buf_, long long len_, long long flags_) {
922 POST_SYSCALL(compat_43_orecv)
923 (long long res, long long s_, void *buf_, long long len_, long long flags_) {
926 PRE_SYSCALL(compat_13_sigreturn13)(void *sigcntxp_) { /* TODO */ }
927 POST_SYSCALL(compat_13_sigreturn13)(long long res, void *sigcntxp_) {
930 PRE_SYSCALL(bind)(long long s_, void *name_, long long namelen_) {
931 PRE_READ(name_, namelen_);
934 (long long res, long long s_, void *name_, long long namelen_) {
936 PRE_READ(name_, namelen_);
939 PRE_SYSCALL(setsockopt)
940 (long long s_, long long level_, long long name_, void *val_,
941 long long valsize_) {
943 PRE_READ(val_, valsize_);
946 POST_SYSCALL(setsockopt)
947 (long long res, long long s_, long long level_, long long name_, void *val_,
948 long long valsize_) {
951 POST_READ(val_, valsize_);
955 PRE_SYSCALL(listen)(long long s_, long long backlog_) { /* Nothing to do */ }
956 POST_SYSCALL(listen)(long long res, long long s_, long long backlog_) {
959 /* syscall 107 has been skipped */
960 PRE_SYSCALL(compat_43_osigvec)(long long signum_, void *nsv_, void *osv_) {
963 POST_SYSCALL(compat_43_osigvec)
964 (long long res, long long signum_, void *nsv_, void *osv_) {
967 PRE_SYSCALL(compat_43_osigblock)(long long mask_) { /* TODO */ }
968 POST_SYSCALL(compat_43_osigblock)(long long res, long long mask_) { /* TODO */ }
969 PRE_SYSCALL(compat_43_osigsetmask)(long long mask_) { /* TODO */ }
970 POST_SYSCALL(compat_43_osigsetmask)(long long res, long long mask_) {
973 PRE_SYSCALL(compat_13_sigsuspend13)(long long mask_) { /* TODO */ }
974 POST_SYSCALL(compat_13_sigsuspend13)(long long res, long long mask_) {
977 PRE_SYSCALL(compat_43_osigstack)(void *nss_, void *oss_) { /* TODO */ }
978 POST_SYSCALL(compat_43_osigstack)(long long res, void *nss_, void *oss_) {
981 PRE_SYSCALL(compat_43_orecvmsg)(long long s_, void *msg_, long long flags_) {
984 POST_SYSCALL(compat_43_orecvmsg)
985 (long long res, long long s_, void *msg_, long long flags_) {
988 PRE_SYSCALL(compat_43_osendmsg)(long long s_, void *msg_, long long flags_) {
991 POST_SYSCALL(compat_43_osendmsg)
992 (long long res, long long s_, void *msg_, long long flags_) {
995 /* syscall 115 has been skipped */
996 PRE_SYSCALL(compat_50_gettimeofday)(void *tp_, void *tzp_) { /* TODO */ }
997 POST_SYSCALL(compat_50_gettimeofday)(long long res, void *tp_, void *tzp_) {
1000 PRE_SYSCALL(compat_50_getrusage)(long long who_, void *rusage_) { /* TODO */ }
1001 POST_SYSCALL(compat_50_getrusage)
1002 (long long res, long long who_, void *rusage_) {
1005 PRE_SYSCALL(getsockopt)
1006 (long long s_, long long level_, long long name_, void *val_, void *avalsize_) {
1009 POST_SYSCALL(getsockopt)
1010 (long long res, long long s_, long long level_, long long name_, void *val_,
1014 /* syscall 119 has been skipped */
1015 PRE_SYSCALL(readv)(long long fd_, void *iovp_, long long iovcnt_) {
1016 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1019 PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1020 for (i = 0; i < iovcnt_; i++) {
1021 PRE_WRITE(iovp[i].iov_base, iovp[i].iov_len);
1026 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
1027 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1032 POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1033 for (i = 0; i < iovcnt_ && n > 0; i++) {
1034 m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
1035 POST_WRITE(iovp[i].iov_base, m);
1041 PRE_SYSCALL(writev)(long long fd_, void *iovp_, long long iovcnt_) {
1042 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1045 PRE_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1046 for (i = 0; i < iovcnt_; i++) {
1047 PRE_READ(iovp[i].iov_base, iovp[i].iov_len);
1051 POST_SYSCALL(writev)
1052 (long long res, long long fd_, void *iovp_, long long iovcnt_) {
1053 struct __sanitizer_iovec *iovp = (struct __sanitizer_iovec *)iovp_;
1058 POST_READ(iovp, sizeof(struct __sanitizer_iovec) * iovcnt_);
1059 for (i = 0; i < iovcnt_ && n > 0; i++) {
1060 m = n > iovp[i].iov_len ? iovp[i].iov_len : n;
1061 POST_READ(iovp[i].iov_base, m);
1067 PRE_SYSCALL(compat_50_settimeofday)(void *tv_, void *tzp_) { /* TODO */ }
1068 POST_SYSCALL(compat_50_settimeofday)(long long res, void *tv_, void *tzp_) {
1071 PRE_SYSCALL(fchown)(long long fd_, long long uid_, long long gid_) {
1074 POST_SYSCALL(fchown)
1075 (long long res, long long fd_, long long uid_, long long gid_) {
1078 PRE_SYSCALL(fchmod)(long long fd_, long long mode_) { /* Nothing to do */ }
1079 POST_SYSCALL(fchmod)(long long res, long long fd_, long long mode_) {
1082 PRE_SYSCALL(compat_43_orecvfrom)
1083 (long long s_, void *buf_, long long len_, long long flags_, void *from_,
1084 void *fromlenaddr_) {
1087 POST_SYSCALL(compat_43_orecvfrom)
1088 (long long res, long long s_, void *buf_, long long len_, long long flags_,
1089 void *from_, void *fromlenaddr_) {
1092 PRE_SYSCALL(setreuid)(long long ruid_, long long euid_) { /* Nothing to do */ }
1093 POST_SYSCALL(setreuid)(long long res, long long ruid_, long long euid_) {
1096 PRE_SYSCALL(setregid)(long long rgid_, long long egid_) { /* Nothing to do */ }
1097 POST_SYSCALL(setregid)(long long res, long long rgid_, long long egid_) {
1100 PRE_SYSCALL(rename)(void *from_, void *to_) {
1101 const char *from = (const char *)from_;
1102 const char *to = (const char *)to_;
1104 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
1107 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
1110 POST_SYSCALL(rename)(long long res, void *from_, void *to_) {
1112 const char *from = (const char *)from_;
1113 const char *to = (const char *)to_;
1115 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
1118 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
1122 PRE_SYSCALL(compat_43_otruncate)(void *path_, long long length_) { /* TODO */ }
1123 POST_SYSCALL(compat_43_otruncate)
1124 (long long res, void *path_, long long length_) {
1127 PRE_SYSCALL(compat_43_oftruncate)(long long fd_, long long length_) {
1130 POST_SYSCALL(compat_43_oftruncate)
1131 (long long res, long long fd_, long long length_) {
1134 PRE_SYSCALL(flock)(long long fd_, long long how_) { /* Nothing to do */ }
1135 POST_SYSCALL(flock)(long long res, long long fd_, long long how_) {
1138 PRE_SYSCALL(mkfifo)(void *path_, long long mode_) {
1139 const char *path = (const char *)path_;
1141 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1144 POST_SYSCALL(mkfifo)(long long res, void *path_, long long mode_) {
1146 const char *path = (const char *)path_;
1148 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1153 (long long s_, void *buf_, long long len_, long long flags_, void *to_,
1155 PRE_READ(buf_, len_);
1156 PRE_READ(to_, tolen_);
1158 POST_SYSCALL(sendto)
1159 (long long res, long long s_, void *buf_, long long len_, long long flags_,
1160 void *to_, long long tolen_) {
1162 POST_READ(buf_, len_);
1163 POST_READ(to_, tolen_);
1166 PRE_SYSCALL(shutdown)(long long s_, long long how_) { /* Nothing to do */ }
1167 POST_SYSCALL(shutdown)(long long res, long long s_, long long how_) {
1170 PRE_SYSCALL(socketpair)
1171 (long long domain_, long long type_, long long protocol_, void *rsv_) {
1172 PRE_WRITE(rsv_, 2 * sizeof(int));
1174 POST_SYSCALL(socketpair)
1175 (long long res, long long domain_, long long type_, long long protocol_,
1178 POST_WRITE(rsv_, 2 * sizeof(int));
1181 PRE_SYSCALL(mkdir)(void *path_, long long mode_) {
1182 const char *path = (const char *)path_;
1184 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1187 POST_SYSCALL(mkdir)(long long res, void *path_, long long mode_) {
1189 const char *path = (const char *)path_;
1191 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1195 PRE_SYSCALL(rmdir)(void *path_) {
1196 const char *path = (const char *)path_;
1198 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1201 POST_SYSCALL(rmdir)(long long res, void *path_) {
1203 const char *path = (const char *)path_;
1205 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1209 PRE_SYSCALL(compat_50_utimes)(void *path_, void *tptr_) { /* TODO */ }
1210 POST_SYSCALL(compat_50_utimes)(long long res, void *path_, void *tptr_) {
1213 /* syscall 139 has been skipped */
1214 PRE_SYSCALL(compat_50_adjtime)(void *delta_, void *olddelta_) { /* TODO */ }
1215 POST_SYSCALL(compat_50_adjtime)(long long res, void *delta_, void *olddelta_) {
1218 PRE_SYSCALL(compat_43_ogetpeername)(long long fdes_, void *asa_, void *alen_) {
1221 POST_SYSCALL(compat_43_ogetpeername)
1222 (long long res, long long fdes_, void *asa_, void *alen_) {
1225 PRE_SYSCALL(compat_43_ogethostid)(void) { /* TODO */ }
1226 POST_SYSCALL(compat_43_ogethostid)(long long res) { /* TODO */ }
1227 PRE_SYSCALL(compat_43_osethostid)(long long hostid_) { /* TODO */ }
1228 POST_SYSCALL(compat_43_osethostid)(long long res, long long hostid_) {
1231 PRE_SYSCALL(compat_43_ogetrlimit)(long long which_, void *rlp_) { /* TODO */ }
1232 POST_SYSCALL(compat_43_ogetrlimit)
1233 (long long res, long long which_, void *rlp_) {
1236 PRE_SYSCALL(compat_43_osetrlimit)(long long which_, void *rlp_) { /* TODO */ }
1237 POST_SYSCALL(compat_43_osetrlimit)
1238 (long long res, long long which_, void *rlp_) {
1241 PRE_SYSCALL(compat_43_okillpg)(long long pgid_, long long signum_) {
1244 POST_SYSCALL(compat_43_okillpg)
1245 (long long res, long long pgid_, long long signum_) {
1248 PRE_SYSCALL(setsid)(void) { /* Nothing to do */ }
1249 POST_SYSCALL(setsid)(long long res) { /* Nothing to do */ }
1250 PRE_SYSCALL(compat_50_quotactl)
1251 (void *path_, long long cmd_, long long uid_, void *arg_) {
1254 POST_SYSCALL(compat_50_quotactl)
1255 (long long res, void *path_, long long cmd_, long long uid_, void *arg_) {
1258 PRE_SYSCALL(compat_43_oquota)(void) { /* TODO */ }
1259 POST_SYSCALL(compat_43_oquota)(long long res) { /* TODO */ }
1260 PRE_SYSCALL(compat_43_ogetsockname)(long long fdec_, void *asa_, void *alen_) {
1263 POST_SYSCALL(compat_43_ogetsockname)
1264 (long long res, long long fdec_, void *asa_, void *alen_) {
1267 /* syscall 151 has been skipped */
1268 /* syscall 152 has been skipped */
1269 /* syscall 153 has been skipped */
1270 /* syscall 154 has been skipped */
1271 PRE_SYSCALL(nfssvc)(long long flag_, void *argp_) { /* Nothing to do */ }
1272 POST_SYSCALL(nfssvc)(long long res, long long flag_, void *argp_) {
1275 PRE_SYSCALL(compat_43_ogetdirentries)
1276 (long long fd_, void *buf_, long long count_, void *basep_) {
1279 POST_SYSCALL(compat_43_ogetdirentries)
1280 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
1283 PRE_SYSCALL(compat_20_statfs)(void *path_, void *buf_) { /* TODO */ }
1284 POST_SYSCALL(compat_20_statfs)(long long res, void *path_, void *buf_) {
1287 PRE_SYSCALL(compat_20_fstatfs)(long long fd_, void *buf_) { /* TODO */ }
1288 POST_SYSCALL(compat_20_fstatfs)(long long res, long long fd_, void *buf_) {
1291 /* syscall 159 has been skipped */
1292 /* syscall 160 has been skipped */
1293 PRE_SYSCALL(compat_30_getfh)(void *fname_, void *fhp_) { /* TODO */ }
1294 POST_SYSCALL(compat_30_getfh)(long long res, void *fname_, void *fhp_) {
1297 PRE_SYSCALL(compat_09_ogetdomainname)(void *domainname_, long long len_) {
1300 POST_SYSCALL(compat_09_ogetdomainname)
1301 (long long res, void *domainname_, long long len_) {
1304 PRE_SYSCALL(compat_09_osetdomainname)(void *domainname_, long long len_) {
1307 POST_SYSCALL(compat_09_osetdomainname)
1308 (long long res, void *domainname_, long long len_) {
1311 PRE_SYSCALL(compat_09_ouname)(void *name_) { /* TODO */ }
1312 POST_SYSCALL(compat_09_ouname)(long long res, void *name_) { /* TODO */ }
1313 PRE_SYSCALL(sysarch)(long long op_, void *parms_) { /* TODO */ }
1314 POST_SYSCALL(sysarch)(long long res, long long op_, void *parms_) { /* TODO */ }
1315 /* syscall 166 has been skipped */
1316 /* syscall 167 has been skipped */
1317 /* syscall 168 has been skipped */
1319 PRE_SYSCALL(compat_10_osemsys)
1320 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_) {
1323 POST_SYSCALL(compat_10_osemsys)
1324 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
1329 /* syscall 169 has been skipped */
1332 PRE_SYSCALL(compat_10_omsgsys)
1333 (long long which_, long long a2_, long long a3_, long long a4_, long long a5_,
1337 POST_SYSCALL(compat_10_omsgsys)
1338 (long long res, long long which_, long long a2_, long long a3_, long long a4_,
1339 long long a5_, long long a6_) {
1343 /* syscall 170 has been skipped */
1346 PRE_SYSCALL(compat_10_oshmsys)
1347 (long long which_, long long a2_, long long a3_, long long a4_) {
1350 POST_SYSCALL(compat_10_oshmsys)
1351 (long long res, long long which_, long long a2_, long long a3_, long long a4_) {
1355 /* syscall 171 has been skipped */
1357 /* syscall 172 has been skipped */
1359 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
1360 long long offset_) {
1362 PRE_WRITE(buf_, nbyte_);
1366 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
1367 long long offset_) {
1369 POST_WRITE(buf_, res);
1373 (long long fd_, void *buf_, long long nbyte_, long long PAD_,
1374 long long offset_) {
1376 PRE_READ(buf_, nbyte_);
1379 POST_SYSCALL(pwrite)
1380 (long long res, long long fd_, void *buf_, long long nbyte_, long long PAD_,
1381 long long offset_) {
1383 POST_READ(buf_, res);
1386 PRE_SYSCALL(compat_30_ntp_gettime)(void *ntvp_) { /* TODO */ }
1387 POST_SYSCALL(compat_30_ntp_gettime)(long long res, void *ntvp_) { /* TODO */ }
1388 #if defined(NTP) || !defined(_KERNEL_OPT)
1389 PRE_SYSCALL(ntp_adjtime)(void *tp_) { /* Nothing to do */ }
1390 POST_SYSCALL(ntp_adjtime)(long long res, void *tp_) { /* Nothing to do */ }
1392 /* syscall 176 has been skipped */
1394 /* syscall 177 has been skipped */
1395 /* syscall 178 has been skipped */
1396 /* syscall 179 has been skipped */
1397 /* syscall 180 has been skipped */
1398 PRE_SYSCALL(setgid)(long long gid_) { /* Nothing to do */ }
1399 POST_SYSCALL(setgid)(long long res, long long gid_) { /* Nothing to do */ }
1400 PRE_SYSCALL(setegid)(long long egid_) { /* Nothing to do */ }
1401 POST_SYSCALL(setegid)(long long res, long long egid_) { /* Nothing to do */ }
1402 PRE_SYSCALL(seteuid)(long long euid_) { /* Nothing to do */ }
1403 POST_SYSCALL(seteuid)(long long res, long long euid_) { /* Nothing to do */ }
1404 PRE_SYSCALL(lfs_bmapv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
1407 POST_SYSCALL(lfs_bmapv)
1408 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
1411 PRE_SYSCALL(lfs_markv)(void *fsidp_, void *blkiov_, long long blkcnt_) {
1414 POST_SYSCALL(lfs_markv)
1415 (long long res, void *fsidp_, void *blkiov_, long long blkcnt_) {
1418 PRE_SYSCALL(lfs_segclean)(void *fsidp_, long long segment_) { /* TODO */ }
1419 POST_SYSCALL(lfs_segclean)(long long res, void *fsidp_, long long segment_) {
1422 PRE_SYSCALL(compat_50_lfs_segwait)(void *fsidp_, void *tv_) { /* TODO */ }
1423 POST_SYSCALL(compat_50_lfs_segwait)(long long res, void *fsidp_, void *tv_) {
1426 PRE_SYSCALL(compat_12_stat12)(void *path_, void *ub_) { /* TODO */ }
1427 POST_SYSCALL(compat_12_stat12)(long long res, void *path_, void *ub_) {
1430 PRE_SYSCALL(compat_12_fstat12)(long long fd_, void *sb_) { /* TODO */ }
1431 POST_SYSCALL(compat_12_fstat12)(long long res, long long fd_, void *sb_) {
1434 PRE_SYSCALL(compat_12_lstat12)(void *path_, void *ub_) { /* TODO */ }
1435 POST_SYSCALL(compat_12_lstat12)(long long res, void *path_, void *ub_) {
1438 PRE_SYSCALL(pathconf)(void *path_, long long name_) {
1439 const char *path = (const char *)path_;
1441 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1444 POST_SYSCALL(pathconf)(long long res, void *path_, long long name_) {
1446 const char *path = (const char *)path_;
1448 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1452 PRE_SYSCALL(fpathconf)(long long fd_, long long name_) { /* Nothing to do */ }
1453 POST_SYSCALL(fpathconf)(long long res, long long fd_, long long name_) {
1456 PRE_SYSCALL(getsockopt2)
1457 (long long s_, long long level_, long long name_, void *val_, void *avalsize_) {
1460 POST_SYSCALL(getsockopt2)
1461 (long long res, long long s_, long long level_, long long name_, void *val_,
1465 PRE_SYSCALL(getrlimit)(long long which_, void *rlp_) {
1466 PRE_WRITE(rlp_, struct_rlimit_sz);
1468 POST_SYSCALL(getrlimit)(long long res, long long which_, void *rlp_) {
1470 POST_WRITE(rlp_, struct_rlimit_sz);
1473 PRE_SYSCALL(setrlimit)(long long which_, void *rlp_) {
1474 PRE_READ(rlp_, struct_rlimit_sz);
1476 POST_SYSCALL(setrlimit)(long long res, long long which_, void *rlp_) {
1478 POST_READ(rlp_, struct_rlimit_sz);
1481 PRE_SYSCALL(compat_12_getdirentries)
1482 (long long fd_, void *buf_, long long count_, void *basep_) {
1485 POST_SYSCALL(compat_12_getdirentries)
1486 (long long res, long long fd_, void *buf_, long long count_, void *basep_) {
1490 (void *addr_, long long len_, long long prot_, long long flags_, long long fd_,
1491 long long PAD_, long long pos_) {
1495 (long long res, void *addr_, long long len_, long long prot_, long long flags_,
1496 long long fd_, long long PAD_, long long pos_) {
1499 PRE_SYSCALL(__syscall)(long long code_, long long args_[SYS_MAXSYSARGS]) {
1502 POST_SYSCALL(__syscall)
1503 (long long res, long long code_, long long args_[SYS_MAXSYSARGS]) {
1507 (long long fd_, long long PAD_, long long offset_, long long whence_) {
1511 (long long res, long long fd_, long long PAD_, long long offset_,
1512 long long whence_) {
1515 PRE_SYSCALL(truncate)(void *path_, long long PAD_, long long length_) {
1516 const char *path = (const char *)path_;
1518 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1521 POST_SYSCALL(truncate)
1522 (long long res, void *path_, long long PAD_, long long length_) {
1524 const char *path = (const char *)path_;
1526 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1530 PRE_SYSCALL(ftruncate)(long long fd_, long long PAD_, long long length_) {
1533 POST_SYSCALL(ftruncate)
1534 (long long res, long long fd_, long long PAD_, long long length_) {
1537 PRE_SYSCALL(__sysctl)
1538 (void *name_, long long namelen_, void *oldv_, void *oldlenp_, void *newv_,
1539 long long newlen_) {
1540 const int *name = (const int *)name_;
1542 PRE_READ(name, namelen_ * sizeof(*name));
1545 PRE_READ(name, newlen_);
1548 POST_SYSCALL(__sysctl)
1549 (long long res, void *name_, long long namelen_, void *oldv_, void *oldlenp_,
1550 void *newv_, long long newlen_) {
1552 const int *name = (const int *)name_;
1554 POST_READ(name, namelen_ * sizeof(*name));
1557 POST_READ(name, newlen_);
1561 PRE_SYSCALL(mlock)(void *addr_, long long len_) { /* Nothing to do */ }
1562 POST_SYSCALL(mlock)(long long res, void *addr_, long long len_) {
1565 PRE_SYSCALL(munlock)(void *addr_, long long len_) { /* Nothing to do */ }
1566 POST_SYSCALL(munlock)(long long res, void *addr_, long long len_) {
1569 PRE_SYSCALL(undelete)(void *path_) {
1570 const char *path = (const char *)path_;
1572 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1575 POST_SYSCALL(undelete)(long long res, void *path_) {
1577 const char *path = (const char *)path_;
1579 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1583 PRE_SYSCALL(compat_50_futimes)(long long fd_, void *tptr_) { /* TODO */ }
1584 POST_SYSCALL(compat_50_futimes)(long long res, long long fd_, void *tptr_) {
1587 PRE_SYSCALL(getpgid)(long long pid_) { /* Nothing to do */ }
1588 POST_SYSCALL(getpgid)(long long res, long long pid_) { /* Nothing to do */ }
1589 PRE_SYSCALL(reboot)(long long opt_, void *bootstr_) {
1590 const char *bootstr = (const char *)bootstr_;
1592 PRE_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
1595 POST_SYSCALL(reboot)(long long res, long long opt_, void *bootstr_) {
1596 /* This call should never return */
1597 const char *bootstr = (const char *)bootstr_;
1599 POST_READ(bootstr, __sanitizer::internal_strlen(bootstr) + 1);
1602 PRE_SYSCALL(poll)(void *fds_, long long nfds_, long long timeout_) {
1606 (long long res, void *fds_, long long nfds_, long long timeout_) {
1610 (long long id_, long long a1_, long long a2_, long long a3_, long long a4_,
1611 long long a5_, long long a6_) {
1614 POST_SYSCALL(afssys)
1615 (long long res, long long id_, long long a1_, long long a2_, long long a3_,
1616 long long a4_, long long a5_, long long a6_) {
1619 /* syscall 211 has been skipped */
1620 /* syscall 212 has been skipped */
1621 /* syscall 213 has been skipped */
1622 /* syscall 214 has been skipped */
1623 /* syscall 215 has been skipped */
1624 /* syscall 216 has been skipped */
1625 /* syscall 217 has been skipped */
1626 /* syscall 218 has been skipped */
1627 /* syscall 219 has been skipped */
1628 PRE_SYSCALL(compat_14___semctl)
1629 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
1632 POST_SYSCALL(compat_14___semctl)
1633 (long long res, long long semid_, long long semnum_, long long cmd_,
1637 PRE_SYSCALL(semget)(long long key_, long long nsems_, long long semflg_) {
1640 POST_SYSCALL(semget)
1641 (long long res, long long key_, long long nsems_, long long semflg_) {
1644 PRE_SYSCALL(semop)(long long semid_, void *sops_, long long nsops_) {
1646 PRE_READ(sops_, nsops_ * struct_sembuf_sz);
1650 (long long res, long long semid_, void *sops_, long long nsops_) {
1653 POST_READ(sops_, nsops_ * struct_sembuf_sz);
1657 PRE_SYSCALL(semconfig)(long long flag_) { /* Nothing to do */ }
1658 POST_SYSCALL(semconfig)(long long res, long long flag_) { /* Nothing to do */ }
1659 PRE_SYSCALL(compat_14_msgctl)(long long msqid_, long long cmd_, void *buf_) {
1662 POST_SYSCALL(compat_14_msgctl)
1663 (long long res, long long msqid_, long long cmd_, void *buf_) {
1666 PRE_SYSCALL(msgget)(long long key_, long long msgflg_) { /* Nothing to do */ }
1667 POST_SYSCALL(msgget)(long long res, long long key_, long long msgflg_) {
1671 (long long msqid_, void *msgp_, long long msgsz_, long long msgflg_) {
1673 PRE_READ(msgp_, msgsz_);
1676 POST_SYSCALL(msgsnd)
1677 (long long res, long long msqid_, void *msgp_, long long msgsz_,
1678 long long msgflg_) {
1681 POST_READ(msgp_, msgsz_);
1686 (long long msqid_, void *msgp_, long long msgsz_, long long msgtyp_,
1687 long long msgflg_) {
1690 POST_SYSCALL(msgrcv)
1691 (long long res, long long msqid_, void *msgp_, long long msgsz_,
1692 long long msgtyp_, long long msgflg_) {
1695 PRE_SYSCALL(shmat)(long long shmid_, void *shmaddr_, long long shmflg_) {
1699 (long long res, long long shmid_, void *shmaddr_, long long shmflg_) {
1702 PRE_SYSCALL(compat_14_shmctl)(long long shmid_, long long cmd_, void *buf_) {
1705 POST_SYSCALL(compat_14_shmctl)
1706 (long long res, long long shmid_, long long cmd_, void *buf_) {
1709 PRE_SYSCALL(shmdt)(void *shmaddr_) { /* Nothing to do */ }
1710 POST_SYSCALL(shmdt)(long long res, void *shmaddr_) { /* Nothing to do */ }
1711 PRE_SYSCALL(shmget)(long long key_, long long size_, long long shmflg_) {
1714 POST_SYSCALL(shmget)
1715 (long long res, long long key_, long long size_, long long shmflg_) {
1718 PRE_SYSCALL(compat_50_clock_gettime)(long long clock_id_, void *tp_) {
1721 POST_SYSCALL(compat_50_clock_gettime)
1722 (long long res, long long clock_id_, void *tp_) {
1725 PRE_SYSCALL(compat_50_clock_settime)(long long clock_id_, void *tp_) {
1728 POST_SYSCALL(compat_50_clock_settime)
1729 (long long res, long long clock_id_, void *tp_) {
1732 PRE_SYSCALL(compat_50_clock_getres)(long long clock_id_, void *tp_) {
1735 POST_SYSCALL(compat_50_clock_getres)
1736 (long long res, long long clock_id_, void *tp_) {
1739 PRE_SYSCALL(timer_create)(long long clock_id_, void *evp_, void *timerid_) {
1742 POST_SYSCALL(timer_create)
1743 (long long res, long long clock_id_, void *evp_, void *timerid_) {
1746 PRE_SYSCALL(timer_delete)(long long timerid_) { /* Nothing to do */ }
1747 POST_SYSCALL(timer_delete)(long long res, long long timerid_) {
1750 PRE_SYSCALL(compat_50_timer_settime)
1751 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
1754 POST_SYSCALL(compat_50_timer_settime)
1755 (long long res, long long timerid_, long long flags_, void *value_,
1759 PRE_SYSCALL(compat_50_timer_gettime)(long long timerid_, void *value_) {
1762 POST_SYSCALL(compat_50_timer_gettime)
1763 (long long res, long long timerid_, void *value_) {
1766 PRE_SYSCALL(timer_getoverrun)(long long timerid_) { /* Nothing to do */ }
1767 POST_SYSCALL(timer_getoverrun)(long long res, long long timerid_) {
1770 PRE_SYSCALL(compat_50_nanosleep)(void *rqtp_, void *rmtp_) { /* TODO */ }
1771 POST_SYSCALL(compat_50_nanosleep)(long long res, void *rqtp_, void *rmtp_) {
1774 PRE_SYSCALL(fdatasync)(long long fd_) { /* Nothing to do */ }
1775 POST_SYSCALL(fdatasync)(long long res, long long fd_) { /* Nothing to do */ }
1776 PRE_SYSCALL(mlockall)(long long flags_) { /* Nothing to do */ }
1777 POST_SYSCALL(mlockall)(long long res, long long flags_) { /* Nothing to do */ }
1778 PRE_SYSCALL(munlockall)(void) { /* Nothing to do */ }
1779 POST_SYSCALL(munlockall)(long long res) { /* Nothing to do */ }
1780 PRE_SYSCALL(compat_50___sigtimedwait)(void *set_, void *info_, void *timeout_) {
1783 POST_SYSCALL(compat_50___sigtimedwait)
1784 (long long res, void *set_, void *info_, void *timeout_) {
1787 PRE_SYSCALL(sigqueueinfo)(long long pid_, void *info_) {
1789 PRE_READ(info_, siginfo_t_sz);
1792 POST_SYSCALL(sigqueueinfo)(long long res, long long pid_, void *info_) {}
1793 PRE_SYSCALL(modctl)(long long cmd_, void *arg_) { /* TODO */ }
1794 POST_SYSCALL(modctl)(long long res, long long cmd_, void *arg_) { /* TODO */ }
1795 PRE_SYSCALL(_ksem_init)(long long value_, void *idp_) { /* Nothing to do */ }
1796 POST_SYSCALL(_ksem_init)(long long res, long long value_, void *idp_) {
1799 PRE_SYSCALL(_ksem_open)
1800 (void *name_, long long oflag_, long long mode_, long long value_, void *idp_) {
1801 const char *name = (const char *)name_;
1803 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1806 POST_SYSCALL(_ksem_open)
1807 (long long res, void *name_, long long oflag_, long long mode_,
1808 long long value_, void *idp_) {
1809 const char *name = (const char *)name_;
1811 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1814 PRE_SYSCALL(_ksem_unlink)(void *name_) {
1815 const char *name = (const char *)name_;
1817 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1820 POST_SYSCALL(_ksem_unlink)(long long res, void *name_) {
1821 const char *name = (const char *)name_;
1823 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1826 PRE_SYSCALL(_ksem_close)(long long id_) { /* Nothing to do */ }
1827 POST_SYSCALL(_ksem_close)(long long res, long long id_) { /* Nothing to do */ }
1828 PRE_SYSCALL(_ksem_post)(long long id_) { /* Nothing to do */ }
1829 POST_SYSCALL(_ksem_post)(long long res, long long id_) { /* Nothing to do */ }
1830 PRE_SYSCALL(_ksem_wait)(long long id_) { /* Nothing to do */ }
1831 POST_SYSCALL(_ksem_wait)(long long res, long long id_) { /* Nothing to do */ }
1832 PRE_SYSCALL(_ksem_trywait)(long long id_) { /* Nothing to do */ }
1833 POST_SYSCALL(_ksem_trywait)(long long res, long long id_) {
1836 PRE_SYSCALL(_ksem_getvalue)(long long id_, void *value_) { /* Nothing to do */ }
1837 POST_SYSCALL(_ksem_getvalue)(long long res, long long id_, void *value_) {
1840 PRE_SYSCALL(_ksem_destroy)(long long id_) { /* Nothing to do */ }
1841 POST_SYSCALL(_ksem_destroy)(long long res, long long id_) {
1844 PRE_SYSCALL(_ksem_timedwait)(long long id_, void *abstime_) {
1846 PRE_READ(abstime_, struct_timespec_sz);
1849 POST_SYSCALL(_ksem_timedwait)(long long res, long long id_, void *abstime_) {}
1850 PRE_SYSCALL(mq_open)
1851 (void *name_, long long oflag_, long long mode_, void *attr_) {
1852 const char *name = (const char *)name_;
1854 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1857 POST_SYSCALL(mq_open)
1858 (long long res, void *name_, long long oflag_, long long mode_, void *attr_) {
1859 const char *name = (const char *)name_;
1861 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1864 PRE_SYSCALL(mq_close)(long long mqdes_) { /* Nothing to do */ }
1865 POST_SYSCALL(mq_close)(long long res, long long mqdes_) { /* Nothing to do */ }
1866 PRE_SYSCALL(mq_unlink)(void *name_) {
1867 const char *name = (const char *)name_;
1869 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
1872 POST_SYSCALL(mq_unlink)(long long res, void *name_) {
1873 const char *name = (const char *)name_;
1875 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
1878 PRE_SYSCALL(mq_getattr)(long long mqdes_, void *mqstat_) { /* Nothing to do */ }
1879 POST_SYSCALL(mq_getattr)(long long res, long long mqdes_, void *mqstat_) {
1882 PRE_SYSCALL(mq_setattr)(long long mqdes_, void *mqstat_, void *omqstat_) {
1884 PRE_READ(mqstat_, struct_mq_attr_sz);
1887 POST_SYSCALL(mq_setattr)
1888 (long long res, long long mqdes_, void *mqstat_, void *omqstat_) {}
1889 PRE_SYSCALL(mq_notify)(long long mqdes_, void *notification_) {
1890 if (notification_) {
1891 PRE_READ(notification_, struct_sigevent_sz);
1894 POST_SYSCALL(mq_notify)(long long res, long long mqdes_, void *notification_) {}
1895 PRE_SYSCALL(mq_send)
1896 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_) {
1898 PRE_READ(msg_ptr_, msg_len_);
1901 POST_SYSCALL(mq_send)
1902 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1903 long long msg_prio_) {}
1904 PRE_SYSCALL(mq_receive)
1905 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_) {
1908 POST_SYSCALL(mq_receive)
1909 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1913 PRE_SYSCALL(compat_50_mq_timedsend)
1914 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
1915 void *abs_timeout_) {
1918 POST_SYSCALL(compat_50_mq_timedsend)
1919 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1920 long long msg_prio_, void *abs_timeout_) {
1923 PRE_SYSCALL(compat_50_mq_timedreceive)
1924 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
1925 void *abs_timeout_) {
1928 POST_SYSCALL(compat_50_mq_timedreceive)
1929 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
1930 void *msg_prio_, void *abs_timeout_) {
1933 /* syscall 267 has been skipped */
1934 /* syscall 268 has been skipped */
1935 /* syscall 269 has been skipped */
1936 PRE_SYSCALL(__posix_rename)(void *from_, void *to_) {
1937 const char *from = (const char *)from_;
1938 const char *to = (const char *)to_;
1940 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
1943 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
1946 POST_SYSCALL(__posix_rename)(long long res, void *from_, void *to_) {
1947 const char *from = (const char *)from_;
1948 const char *to = (const char *)to_;
1950 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
1953 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
1956 PRE_SYSCALL(swapctl)(long long cmd_, void *arg_, long long misc_) { /* TODO */ }
1957 POST_SYSCALL(swapctl)
1958 (long long res, long long cmd_, void *arg_, long long misc_) {
1961 PRE_SYSCALL(compat_30_getdents)(long long fd_, void *buf_, long long count_) {
1964 POST_SYSCALL(compat_30_getdents)
1965 (long long res, long long fd_, void *buf_, long long count_) {
1968 PRE_SYSCALL(minherit)(void *addr_, long long len_, long long inherit_) {
1971 POST_SYSCALL(minherit)
1972 (long long res, void *addr_, long long len_, long long inherit_) {
1975 PRE_SYSCALL(lchmod)(void *path_, long long mode_) {
1976 const char *path = (const char *)path_;
1978 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1981 POST_SYSCALL(lchmod)(long long res, void *path_, long long mode_) {
1982 const char *path = (const char *)path_;
1984 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
1987 PRE_SYSCALL(lchown)(void *path_, long long uid_, long long gid_) {
1988 const char *path = (const char *)path_;
1990 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
1993 POST_SYSCALL(lchown)
1994 (long long res, void *path_, long long uid_, long long gid_) {
1995 const char *path = (const char *)path_;
1997 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2000 PRE_SYSCALL(compat_50_lutimes)(void *path_, void *tptr_) { /* TODO */ }
2001 POST_SYSCALL(compat_50_lutimes)(long long res, void *path_, void *tptr_) {
2004 PRE_SYSCALL(__msync13)(void *addr_, long long len_, long long flags_) {
2007 POST_SYSCALL(__msync13)
2008 (long long res, void *addr_, long long len_, long long flags_) {
2011 PRE_SYSCALL(compat_30___stat13)(void *path_, void *ub_) { /* TODO */ }
2012 POST_SYSCALL(compat_30___stat13)(long long res, void *path_, void *ub_) {
2015 PRE_SYSCALL(compat_30___fstat13)(long long fd_, void *sb_) { /* TODO */ }
2016 POST_SYSCALL(compat_30___fstat13)(long long res, long long fd_, void *sb_) {
2019 PRE_SYSCALL(compat_30___lstat13)(void *path_, void *ub_) { /* TODO */ }
2020 POST_SYSCALL(compat_30___lstat13)(long long res, void *path_, void *ub_) {
2023 PRE_SYSCALL(__sigaltstack14)(void *nss_, void *oss_) {
2025 PRE_READ(nss_, struct_sigaltstack_sz);
2028 PRE_READ(oss_, struct_sigaltstack_sz);
2031 POST_SYSCALL(__sigaltstack14)(long long res, void *nss_, void *oss_) {}
2032 PRE_SYSCALL(__vfork14)(void) { /* Nothing to do */ }
2033 POST_SYSCALL(__vfork14)(long long res) { /* Nothing to do */ }
2034 PRE_SYSCALL(__posix_chown)(void *path_, long long uid_, long long gid_) {
2035 const char *path = (const char *)path_;
2037 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2040 POST_SYSCALL(__posix_chown)
2041 (long long res, void *path_, long long uid_, long long gid_) {
2042 const char *path = (const char *)path_;
2044 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2047 PRE_SYSCALL(__posix_fchown)(long long fd_, long long uid_, long long gid_) {
2050 POST_SYSCALL(__posix_fchown)
2051 (long long res, long long fd_, long long uid_, long long gid_) {
2054 PRE_SYSCALL(__posix_lchown)(void *path_, long long uid_, long long gid_) {
2055 const char *path = (const char *)path_;
2057 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2060 POST_SYSCALL(__posix_lchown)
2061 (long long res, void *path_, long long uid_, long long gid_) {
2062 const char *path = (const char *)path_;
2064 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2067 PRE_SYSCALL(getsid)(long long pid_) { /* Nothing to do */ }
2068 POST_SYSCALL(getsid)(long long res, long long pid_) { /* Nothing to do */ }
2069 PRE_SYSCALL(__clone)(long long flags_, void *stack_) { /* Nothing to do */ }
2070 POST_SYSCALL(__clone)(long long res, long long flags_, void *stack_) {
2073 PRE_SYSCALL(fktrace)
2074 (long long fd_, long long ops_, long long facs_, long long pid_) {
2077 POST_SYSCALL(fktrace)
2078 (long long res, long long fd_, long long ops_, long long facs_,
2083 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2084 long long offset_) {
2087 POST_SYSCALL(preadv)
2088 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2089 long long offset_) {
2092 PRE_SYSCALL(pwritev)
2093 (long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2094 long long offset_) {
2097 POST_SYSCALL(pwritev)
2098 (long long res, long long fd_, void *iovp_, long long iovcnt_, long long PAD_,
2099 long long offset_) {
2102 PRE_SYSCALL(compat_16___sigaction14)
2103 (long long signum_, void *nsa_, void *osa_) {
2106 POST_SYSCALL(compat_16___sigaction14)
2107 (long long res, long long signum_, void *nsa_, void *osa_) {
2110 PRE_SYSCALL(__sigpending14)(void *set_) { /* Nothing to do */ }
2111 POST_SYSCALL(__sigpending14)(long long res, void *set_) { /* Nothing to do */ }
2112 PRE_SYSCALL(__sigprocmask14)(long long how_, void *set_, void *oset_) {
2115 POST_SYSCALL(__sigprocmask14)
2116 (long long res, long long how_, void *set_, void *oset_) {
2119 PRE_SYSCALL(__sigsuspend14)(void *set_) {
2121 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
2124 POST_SYSCALL(__sigsuspend14)(long long res, void *set_) {
2126 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
2129 PRE_SYSCALL(compat_16___sigreturn14)(void *sigcntxp_) { /* TODO */ }
2130 POST_SYSCALL(compat_16___sigreturn14)(long long res, void *sigcntxp_) {
2133 PRE_SYSCALL(__getcwd)(void *bufp_, long long length_) { /* Nothing to do */ }
2134 POST_SYSCALL(__getcwd)(long long res, void *bufp_, long long length_) {
2137 PRE_SYSCALL(fchroot)(long long fd_) { /* Nothing to do */ }
2138 POST_SYSCALL(fchroot)(long long res, long long fd_) { /* Nothing to do */ }
2139 PRE_SYSCALL(compat_30_fhopen)(void *fhp_, long long flags_) { /* TODO */ }
2140 POST_SYSCALL(compat_30_fhopen)(long long res, void *fhp_, long long flags_) {
2143 PRE_SYSCALL(compat_30_fhstat)(void *fhp_, void *sb_) { /* TODO */ }
2144 POST_SYSCALL(compat_30_fhstat)(long long res, void *fhp_, void *sb_) {
2147 PRE_SYSCALL(compat_20_fhstatfs)(void *fhp_, void *buf_) { /* TODO */ }
2148 POST_SYSCALL(compat_20_fhstatfs)(long long res, void *fhp_, void *buf_) {
2151 PRE_SYSCALL(compat_50_____semctl13)
2152 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
2155 POST_SYSCALL(compat_50_____semctl13)
2156 (long long res, long long semid_, long long semnum_, long long cmd_,
2160 PRE_SYSCALL(compat_50___msgctl13)
2161 (long long msqid_, long long cmd_, void *buf_) {
2164 POST_SYSCALL(compat_50___msgctl13)
2165 (long long res, long long msqid_, long long cmd_, void *buf_) {
2168 PRE_SYSCALL(compat_50___shmctl13)
2169 (long long shmid_, long long cmd_, void *buf_) {
2172 POST_SYSCALL(compat_50___shmctl13)
2173 (long long res, long long shmid_, long long cmd_, void *buf_) {
2176 PRE_SYSCALL(lchflags)(void *path_, long long flags_) {
2177 const char *path = (const char *)path_;
2179 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2182 POST_SYSCALL(lchflags)(long long res, void *path_, long long flags_) {
2183 const char *path = (const char *)path_;
2185 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2188 PRE_SYSCALL(issetugid)(void) { /* Nothing to do */ }
2189 POST_SYSCALL(issetugid)(long long res) { /* Nothing to do */ }
2190 PRE_SYSCALL(utrace)(void *label_, void *addr_, long long len_) {
2191 const char *label = (const char *)label_;
2193 PRE_READ(label, __sanitizer::internal_strlen(label) + 1);
2196 PRE_READ(addr_, len_);
2199 POST_SYSCALL(utrace)(long long res, void *label_, void *addr_, long long len_) {
2200 const char *label = (const char *)label_;
2202 POST_READ(label, __sanitizer::internal_strlen(label) + 1);
2205 POST_READ(addr_, len_);
2208 PRE_SYSCALL(getcontext)(void *ucp_) { /* Nothing to do */ }
2209 POST_SYSCALL(getcontext)(long long res, void *ucp_) { /* Nothing to do */ }
2210 PRE_SYSCALL(setcontext)(void *ucp_) {
2212 PRE_READ(ucp_, ucontext_t_sz);
2215 POST_SYSCALL(setcontext)(long long res, void *ucp_) {}
2216 PRE_SYSCALL(_lwp_create)(void *ucp_, long long flags_, void *new_lwp_) {
2218 PRE_READ(ucp_, ucontext_t_sz);
2221 POST_SYSCALL(_lwp_create)
2222 (long long res, void *ucp_, long long flags_, void *new_lwp_) {}
2223 PRE_SYSCALL(_lwp_exit)(void) { /* Nothing to do */ }
2224 POST_SYSCALL(_lwp_exit)(long long res) { /* Nothing to do */ }
2225 PRE_SYSCALL(_lwp_self)(void) { /* Nothing to do */ }
2226 POST_SYSCALL(_lwp_self)(long long res) { /* Nothing to do */ }
2227 PRE_SYSCALL(_lwp_wait)(long long wait_for_, void *departed_) {
2230 POST_SYSCALL(_lwp_wait)(long long res, long long wait_for_, void *departed_) {
2233 PRE_SYSCALL(_lwp_suspend)(long long target_) { /* Nothing to do */ }
2234 POST_SYSCALL(_lwp_suspend)(long long res, long long target_) {
2237 PRE_SYSCALL(_lwp_continue)(long long target_) { /* Nothing to do */ }
2238 POST_SYSCALL(_lwp_continue)(long long res, long long target_) {
2241 PRE_SYSCALL(_lwp_wakeup)(long long target_) { /* Nothing to do */ }
2242 POST_SYSCALL(_lwp_wakeup)(long long res, long long target_) {
2245 PRE_SYSCALL(_lwp_getprivate)(void) { /* Nothing to do */ }
2246 POST_SYSCALL(_lwp_getprivate)(long long res) { /* Nothing to do */ }
2247 PRE_SYSCALL(_lwp_setprivate)(void *ptr_) { /* Nothing to do */ }
2248 POST_SYSCALL(_lwp_setprivate)(long long res, void *ptr_) { /* Nothing to do */ }
2249 PRE_SYSCALL(_lwp_kill)(long long target_, long long signo_) {
2252 POST_SYSCALL(_lwp_kill)(long long res, long long target_, long long signo_) {
2255 PRE_SYSCALL(_lwp_detach)(long long target_) { /* Nothing to do */ }
2256 POST_SYSCALL(_lwp_detach)(long long res, long long target_) {
2259 PRE_SYSCALL(compat_50__lwp_park)
2260 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
2263 POST_SYSCALL(compat_50__lwp_park)
2264 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
2267 PRE_SYSCALL(_lwp_unpark)(long long target_, void *hint_) { /* Nothing to do */ }
2268 POST_SYSCALL(_lwp_unpark)(long long res, long long target_, void *hint_) {
2271 PRE_SYSCALL(_lwp_unpark_all)(void *targets_, long long ntargets_, void *hint_) {
2273 PRE_READ(targets_, ntargets_ * sizeof(__sanitizer_lwpid_t));
2276 POST_SYSCALL(_lwp_unpark_all)
2277 (long long res, void *targets_, long long ntargets_, void *hint_) {}
2278 PRE_SYSCALL(_lwp_setname)(long long target_, void *name_) {
2279 const char *name = (const char *)name_;
2281 PRE_READ(name, __sanitizer::internal_strlen(name) + 1);
2284 POST_SYSCALL(_lwp_setname)(long long res, long long target_, void *name_) {
2285 const char *name = (const char *)name_;
2287 POST_READ(name, __sanitizer::internal_strlen(name) + 1);
2290 PRE_SYSCALL(_lwp_getname)(long long target_, void *name_, long long len_) {
2293 POST_SYSCALL(_lwp_getname)
2294 (long long res, long long target_, void *name_, long long len_) {
2297 PRE_SYSCALL(_lwp_ctl)(long long features_, void **address_) {
2300 POST_SYSCALL(_lwp_ctl)(long long res, long long features_, void **address_) {
2303 /* syscall 326 has been skipped */
2304 /* syscall 327 has been skipped */
2305 /* syscall 328 has been skipped */
2306 /* syscall 329 has been skipped */
2307 PRE_SYSCALL(compat_60_sa_register)
2308 (void *newv_, void **oldv_, long long flags_, long long stackinfo_offset_) {
2311 POST_SYSCALL(compat_60_sa_register)
2312 (long long res, void *newv_, void **oldv_, long long flags_,
2313 long long stackinfo_offset_) {
2316 PRE_SYSCALL(compat_60_sa_stacks)(long long num_, void *stacks_) { /* TODO */ }
2317 POST_SYSCALL(compat_60_sa_stacks)
2318 (long long res, long long num_, void *stacks_) {
2321 PRE_SYSCALL(compat_60_sa_enable)(void) { /* TODO */ }
2322 POST_SYSCALL(compat_60_sa_enable)(long long res) { /* TODO */ }
2323 PRE_SYSCALL(compat_60_sa_setconcurrency)(long long concurrency_) { /* TODO */ }
2324 POST_SYSCALL(compat_60_sa_setconcurrency)
2325 (long long res, long long concurrency_) {
2328 PRE_SYSCALL(compat_60_sa_yield)(void) { /* TODO */ }
2329 POST_SYSCALL(compat_60_sa_yield)(long long res) { /* TODO */ }
2330 PRE_SYSCALL(compat_60_sa_preempt)(long long sa_id_) { /* TODO */ }
2331 POST_SYSCALL(compat_60_sa_preempt)(long long res, long long sa_id_) {
2334 /* syscall 336 has been skipped */
2335 /* syscall 337 has been skipped */
2336 /* syscall 338 has been skipped */
2337 /* syscall 339 has been skipped */
2338 PRE_SYSCALL(__sigaction_sigtramp)
2339 (long long signum_, void *nsa_, void *osa_, void *tramp_, long long vers_) {
2341 PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
2344 POST_SYSCALL(__sigaction_sigtramp)
2345 (long long res, long long signum_, void *nsa_, void *osa_, void *tramp_,
2348 PRE_READ(nsa_, sizeof(__sanitizer_sigaction));
2351 /* syscall 341 has been skipped */
2352 /* syscall 342 has been skipped */
2353 PRE_SYSCALL(rasctl)(void *addr_, long long len_, long long op_) {
2356 POST_SYSCALL(rasctl)
2357 (long long res, void *addr_, long long len_, long long op_) {
2360 PRE_SYSCALL(kqueue)(void) { /* Nothing to do */ }
2361 POST_SYSCALL(kqueue)(long long res) { /* Nothing to do */ }
2362 PRE_SYSCALL(compat_50_kevent)
2363 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
2364 long long nevents_, void *timeout_) {
2367 POST_SYSCALL(compat_50_kevent)
2368 (long long res, long long fd_, void *changelist_, long long nchanges_,
2369 void *eventlist_, long long nevents_, void *timeout_) {
2372 PRE_SYSCALL(_sched_setparam)
2373 (long long pid_, long long lid_, long long policy_, void *params_) {
2375 PRE_READ(params_, struct_sched_param_sz);
2378 POST_SYSCALL(_sched_setparam)
2379 (long long res, long long pid_, long long lid_, long long policy_,
2382 PRE_READ(params_, struct_sched_param_sz);
2385 PRE_SYSCALL(_sched_getparam)
2386 (long long pid_, long long lid_, void *policy_, void *params_) {
2389 POST_SYSCALL(_sched_getparam)
2390 (long long res, long long pid_, long long lid_, void *policy_, void *params_) {
2393 PRE_SYSCALL(_sched_setaffinity)
2394 (long long pid_, long long lid_, long long size_, void *cpuset_) {
2396 PRE_READ(cpuset_, size_);
2399 POST_SYSCALL(_sched_setaffinity)
2400 (long long res, long long pid_, long long lid_, long long size_,
2403 PRE_READ(cpuset_, size_);
2406 PRE_SYSCALL(_sched_getaffinity)
2407 (long long pid_, long long lid_, long long size_, void *cpuset_) {
2410 POST_SYSCALL(_sched_getaffinity)
2411 (long long res, long long pid_, long long lid_, long long size_,
2415 PRE_SYSCALL(sched_yield)(void) { /* Nothing to do */ }
2416 POST_SYSCALL(sched_yield)(long long res) { /* Nothing to do */ }
2417 PRE_SYSCALL(_sched_protect)(long long priority_) { /* Nothing to do */ }
2418 POST_SYSCALL(_sched_protect)(long long res, long long priority_) {
2421 /* syscall 352 has been skipped */
2422 /* syscall 353 has been skipped */
2423 PRE_SYSCALL(fsync_range)
2424 (long long fd_, long long flags_, long long start_, long long length_) {
2427 POST_SYSCALL(fsync_range)
2428 (long long res, long long fd_, long long flags_, long long start_,
2429 long long length_) {
2432 PRE_SYSCALL(uuidgen)(void *store_, long long count_) { /* Nothing to do */ }
2433 POST_SYSCALL(uuidgen)(long long res, void *store_, long long count_) {
2436 PRE_SYSCALL(getvfsstat)(void *buf_, long long bufsize_, long long flags_) {
2439 POST_SYSCALL(getvfsstat)
2440 (long long res, void *buf_, long long bufsize_, long long flags_) {
2443 PRE_SYSCALL(statvfs1)(void *path_, void *buf_, long long flags_) {
2444 const char *path = (const char *)path_;
2446 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2449 POST_SYSCALL(statvfs1)
2450 (long long res, void *path_, void *buf_, long long flags_) {
2451 const char *path = (const char *)path_;
2453 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2456 PRE_SYSCALL(fstatvfs1)(long long fd_, void *buf_, long long flags_) {
2459 POST_SYSCALL(fstatvfs1)
2460 (long long res, long long fd_, void *buf_, long long flags_) {
2463 PRE_SYSCALL(compat_30_fhstatvfs1)(void *fhp_, void *buf_, long long flags_) {
2466 POST_SYSCALL(compat_30_fhstatvfs1)
2467 (long long res, void *fhp_, void *buf_, long long flags_) {
2470 PRE_SYSCALL(extattrctl)
2471 (void *path_, long long cmd_, void *filename_, long long attrnamespace_,
2473 const char *path = (const char *)path_;
2475 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2478 POST_SYSCALL(extattrctl)
2479 (long long res, void *path_, long long cmd_, void *filename_,
2480 long long attrnamespace_, void *attrname_) {
2481 const char *path = (const char *)path_;
2483 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2486 PRE_SYSCALL(extattr_set_file)
2487 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2488 long long nbytes_) {
2489 const char *path = (const char *)path_;
2491 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2494 POST_SYSCALL(extattr_set_file)
2495 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2496 void *data_, long long nbytes_) {
2497 const char *path = (const char *)path_;
2499 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2502 PRE_SYSCALL(extattr_get_file)
2503 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2504 long long nbytes_) {
2505 const char *path = (const char *)path_;
2507 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2510 POST_SYSCALL(extattr_get_file)
2511 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2512 void *data_, long long nbytes_) {
2513 const char *path = (const char *)path_;
2515 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2518 PRE_SYSCALL(extattr_delete_file)
2519 (void *path_, long long attrnamespace_, void *attrname_) {
2520 const char *path = (const char *)path_;
2522 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2525 POST_SYSCALL(extattr_delete_file)
2526 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
2527 const char *path = (const char *)path_;
2529 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2532 PRE_SYSCALL(extattr_set_fd)
2533 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
2534 long long nbytes_) {
2537 POST_SYSCALL(extattr_set_fd)
2538 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
2539 void *data_, long long nbytes_) {
2542 PRE_SYSCALL(extattr_get_fd)
2543 (long long fd_, long long attrnamespace_, void *attrname_, void *data_,
2544 long long nbytes_) {
2547 POST_SYSCALL(extattr_get_fd)
2548 (long long res, long long fd_, long long attrnamespace_, void *attrname_,
2549 void *data_, long long nbytes_) {
2552 PRE_SYSCALL(extattr_delete_fd)
2553 (long long fd_, long long attrnamespace_, void *attrname_) {
2556 POST_SYSCALL(extattr_delete_fd)
2557 (long long res, long long fd_, long long attrnamespace_, void *attrname_) {
2560 PRE_SYSCALL(extattr_set_link)
2561 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2562 long long nbytes_) {
2563 const char *path = (const char *)path_;
2565 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2568 POST_SYSCALL(extattr_set_link)
2569 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2570 void *data_, long long nbytes_) {
2571 const char *path = (const char *)path_;
2573 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2576 PRE_SYSCALL(extattr_get_link)
2577 (void *path_, long long attrnamespace_, void *attrname_, void *data_,
2578 long long nbytes_) {
2579 const char *path = (const char *)path_;
2581 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2584 POST_SYSCALL(extattr_get_link)
2585 (long long res, void *path_, long long attrnamespace_, void *attrname_,
2586 void *data_, long long nbytes_) {
2587 const char *path = (const char *)path_;
2589 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2592 PRE_SYSCALL(extattr_delete_link)
2593 (void *path_, long long attrnamespace_, void *attrname_) {
2594 const char *path = (const char *)path_;
2596 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2599 POST_SYSCALL(extattr_delete_link)
2600 (long long res, void *path_, long long attrnamespace_, void *attrname_) {
2601 const char *path = (const char *)path_;
2603 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2606 PRE_SYSCALL(extattr_list_fd)
2607 (long long fd_, long long attrnamespace_, void *data_, long long nbytes_) {
2610 POST_SYSCALL(extattr_list_fd)
2611 (long long res, long long fd_, long long attrnamespace_, void *data_,
2612 long long nbytes_) {
2615 PRE_SYSCALL(extattr_list_file)
2616 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
2617 const char *path = (const char *)path_;
2619 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2622 POST_SYSCALL(extattr_list_file)
2623 (long long res, void *path_, long long attrnamespace_, void *data_,
2624 long long nbytes_) {
2625 const char *path = (const char *)path_;
2627 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2630 PRE_SYSCALL(extattr_list_link)
2631 (void *path_, long long attrnamespace_, void *data_, long long nbytes_) {
2632 const char *path = (const char *)path_;
2634 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2637 POST_SYSCALL(extattr_list_link)
2638 (long long res, void *path_, long long attrnamespace_, void *data_,
2639 long long nbytes_) {
2640 const char *path = (const char *)path_;
2642 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2645 PRE_SYSCALL(compat_50_pselect)
2646 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
2649 POST_SYSCALL(compat_50_pselect)
2650 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
2654 PRE_SYSCALL(compat_50_pollts)
2655 (void *fds_, long long nfds_, void *ts_, void *mask_) {
2658 POST_SYSCALL(compat_50_pollts)
2659 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {
2662 PRE_SYSCALL(setxattr)
2663 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
2664 const char *path = (const char *)path_;
2666 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2669 POST_SYSCALL(setxattr)
2670 (long long res, void *path_, void *name_, void *value_, long long size_,
2672 const char *path = (const char *)path_;
2674 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2677 PRE_SYSCALL(lsetxattr)
2678 (void *path_, void *name_, void *value_, long long size_, long long flags_) {
2679 const char *path = (const char *)path_;
2681 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2684 POST_SYSCALL(lsetxattr)
2685 (long long res, void *path_, void *name_, void *value_, long long size_,
2687 const char *path = (const char *)path_;
2689 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2692 PRE_SYSCALL(fsetxattr)
2693 (long long fd_, void *name_, void *value_, long long size_, long long flags_) {
2696 POST_SYSCALL(fsetxattr)
2697 (long long res, long long fd_, void *name_, void *value_, long long size_,
2701 PRE_SYSCALL(getxattr)(void *path_, void *name_, void *value_, long long size_) {
2702 const char *path = (const char *)path_;
2704 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2707 POST_SYSCALL(getxattr)
2708 (long long res, void *path_, void *name_, void *value_, long long size_) {
2709 const char *path = (const char *)path_;
2711 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2714 PRE_SYSCALL(lgetxattr)
2715 (void *path_, void *name_, void *value_, long long size_) {
2716 const char *path = (const char *)path_;
2718 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2721 POST_SYSCALL(lgetxattr)
2722 (long long res, void *path_, void *name_, void *value_, long long size_) {
2723 const char *path = (const char *)path_;
2725 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2728 PRE_SYSCALL(fgetxattr)
2729 (long long fd_, void *name_, void *value_, long long size_) {
2732 POST_SYSCALL(fgetxattr)
2733 (long long res, long long fd_, void *name_, void *value_, long long size_) {
2736 PRE_SYSCALL(listxattr)(void *path_, void *list_, long long size_) {
2737 const char *path = (const char *)path_;
2739 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2742 POST_SYSCALL(listxattr)
2743 (long long res, void *path_, void *list_, long long size_) {
2744 const char *path = (const char *)path_;
2746 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2749 PRE_SYSCALL(llistxattr)(void *path_, void *list_, long long size_) {
2750 const char *path = (const char *)path_;
2752 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2755 POST_SYSCALL(llistxattr)
2756 (long long res, void *path_, void *list_, long long size_) {
2757 const char *path = (const char *)path_;
2759 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2762 PRE_SYSCALL(flistxattr)(long long fd_, void *list_, long long size_) {
2765 POST_SYSCALL(flistxattr)
2766 (long long res, long long fd_, void *list_, long long size_) {
2769 PRE_SYSCALL(removexattr)(void *path_, void *name_) {
2770 const char *path = (const char *)path_;
2772 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2775 POST_SYSCALL(removexattr)(long long res, void *path_, void *name_) {
2776 const char *path = (const char *)path_;
2778 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2781 PRE_SYSCALL(lremovexattr)(void *path_, void *name_) {
2782 const char *path = (const char *)path_;
2784 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2787 POST_SYSCALL(lremovexattr)(long long res, void *path_, void *name_) {
2788 const char *path = (const char *)path_;
2790 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2793 PRE_SYSCALL(fremovexattr)(long long fd_, void *name_) { /* TODO */ }
2794 POST_SYSCALL(fremovexattr)(long long res, long long fd_, void *name_) {
2797 PRE_SYSCALL(compat_50___stat30)(void *path_, void *ub_) { /* TODO */ }
2798 POST_SYSCALL(compat_50___stat30)(long long res, void *path_, void *ub_) {
2801 PRE_SYSCALL(compat_50___fstat30)(long long fd_, void *sb_) { /* TODO */ }
2802 POST_SYSCALL(compat_50___fstat30)(long long res, long long fd_, void *sb_) {
2805 PRE_SYSCALL(compat_50___lstat30)(void *path_, void *ub_) { /* TODO */ }
2806 POST_SYSCALL(compat_50___lstat30)(long long res, void *path_, void *ub_) {
2809 PRE_SYSCALL(__getdents30)(long long fd_, void *buf_, long long count_) {
2812 POST_SYSCALL(__getdents30)
2813 (long long res, long long fd_, void *buf_, long long count_) {
2816 PRE_SYSCALL(posix_fadvise)(long long) { /* Nothing to do */ }
2817 POST_SYSCALL(posix_fadvise)(long long res, long long) { /* Nothing to do */ }
2818 PRE_SYSCALL(compat_30___fhstat30)(void *fhp_, void *sb_) { /* TODO */ }
2819 POST_SYSCALL(compat_30___fhstat30)(long long res, void *fhp_, void *sb_) {
2822 PRE_SYSCALL(compat_50___ntp_gettime30)(void *ntvp_) { /* TODO */ }
2823 POST_SYSCALL(compat_50___ntp_gettime30)(long long res, void *ntvp_) {
2826 PRE_SYSCALL(__socket30)
2827 (long long domain_, long long type_, long long protocol_) {
2830 POST_SYSCALL(__socket30)
2831 (long long res, long long domain_, long long type_, long long protocol_) {
2834 PRE_SYSCALL(__getfh30)(void *fname_, void *fhp_, void *fh_size_) {
2835 const char *fname = (const char *)fname_;
2837 PRE_READ(fname, __sanitizer::internal_strlen(fname) + 1);
2840 POST_SYSCALL(__getfh30)
2841 (long long res, void *fname_, void *fhp_, void *fh_size_) {
2842 const char *fname = (const char *)fname_;
2845 POST_READ(fname, __sanitizer::internal_strlen(fname) + 1);
2849 PRE_SYSCALL(__fhopen40)(void *fhp_, long long fh_size_, long long flags_) {
2851 PRE_READ(fhp_, fh_size_);
2854 POST_SYSCALL(__fhopen40)
2855 (long long res, void *fhp_, long long fh_size_, long long flags_) {}
2856 PRE_SYSCALL(__fhstatvfs140)
2857 (void *fhp_, long long fh_size_, void *buf_, long long flags_) {
2859 PRE_READ(fhp_, fh_size_);
2862 POST_SYSCALL(__fhstatvfs140)
2863 (long long res, void *fhp_, long long fh_size_, void *buf_, long long flags_) {}
2864 PRE_SYSCALL(compat_50___fhstat40)(void *fhp_, long long fh_size_, void *sb_) {
2866 PRE_READ(fhp_, fh_size_);
2869 POST_SYSCALL(compat_50___fhstat40)
2870 (long long res, void *fhp_, long long fh_size_, void *sb_) {}
2871 PRE_SYSCALL(aio_cancel)(long long fildes_, void *aiocbp_) {
2873 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2876 POST_SYSCALL(aio_cancel)(long long res, long long fildes_, void *aiocbp_) {}
2877 PRE_SYSCALL(aio_error)(void *aiocbp_) {
2879 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2882 POST_SYSCALL(aio_error)(long long res, void *aiocbp_) {}
2883 PRE_SYSCALL(aio_fsync)(long long op_, void *aiocbp_) {
2885 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2888 POST_SYSCALL(aio_fsync)(long long res, long long op_, void *aiocbp_) {}
2889 PRE_SYSCALL(aio_read)(void *aiocbp_) {
2891 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2894 POST_SYSCALL(aio_read)(long long res, void *aiocbp_) {}
2895 PRE_SYSCALL(aio_return)(void *aiocbp_) {
2897 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2900 POST_SYSCALL(aio_return)(long long res, void *aiocbp_) {}
2901 PRE_SYSCALL(compat_50_aio_suspend)
2902 (void *list_, long long nent_, void *timeout_) {
2905 POST_SYSCALL(compat_50_aio_suspend)
2906 (long long res, void *list_, long long nent_, void *timeout_) {
2909 PRE_SYSCALL(aio_write)(void *aiocbp_) {
2911 PRE_READ(aiocbp_, sizeof(struct __sanitizer_aiocb));
2914 POST_SYSCALL(aio_write)(long long res, void *aiocbp_) {}
2915 PRE_SYSCALL(lio_listio)
2916 (long long mode_, void *list_, long long nent_, void *sig_) {
2919 POST_SYSCALL(lio_listio)
2920 (long long res, long long mode_, void *list_, long long nent_, void *sig_) {
2923 /* syscall 407 has been skipped */
2924 /* syscall 408 has been skipped */
2925 /* syscall 409 has been skipped */
2926 PRE_SYSCALL(__mount50)
2927 (void *type_, void *path_, long long flags_, void *data_, long long data_len_) {
2928 const char *type = (const char *)type_;
2929 const char *path = (const char *)path_;
2931 PRE_READ(type, __sanitizer::internal_strlen(type) + 1);
2934 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
2937 PRE_READ(data_, data_len_);
2940 POST_SYSCALL(__mount50)
2941 (long long res, void *type_, void *path_, long long flags_, void *data_,
2942 long long data_len_) {
2943 const char *type = (const char *)type_;
2944 const char *path = (const char *)path_;
2946 POST_READ(type, __sanitizer::internal_strlen(type) + 1);
2949 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
2952 POST_READ(data_, data_len_);
2956 (void *old_address_, long long old_size_, void *new_address_,
2957 long long new_size_, long long flags_) {
2960 POST_SYSCALL(mremap)
2961 (long long res, void *old_address_, long long old_size_, void *new_address_,
2962 long long new_size_, long long flags_) {
2965 PRE_SYSCALL(pset_create)(void *psid_) { /* Nothing to do */ }
2966 POST_SYSCALL(pset_create)(long long res, void *psid_) { /* Nothing to do */ }
2967 PRE_SYSCALL(pset_destroy)(long long psid_) { /* Nothing to do */ }
2968 POST_SYSCALL(pset_destroy)(long long res, long long psid_) {
2971 PRE_SYSCALL(pset_assign)(long long psid_, long long cpuid_, void *opsid_) {
2974 POST_SYSCALL(pset_assign)
2975 (long long res, long long psid_, long long cpuid_, void *opsid_) {
2978 PRE_SYSCALL(_pset_bind)
2979 (long long idtype_, long long first_id_, long long second_id_, long long psid_,
2983 POST_SYSCALL(_pset_bind)
2984 (long long res, long long idtype_, long long first_id_, long long second_id_,
2985 long long psid_, void *opsid_) {
2988 PRE_SYSCALL(__posix_fadvise50)
2989 (long long fd_, long long PAD_, long long offset_, long long len_,
2990 long long advice_) {
2993 POST_SYSCALL(__posix_fadvise50)
2994 (long long res, long long fd_, long long PAD_, long long offset_,
2995 long long len_, long long advice_) {
2998 PRE_SYSCALL(__select50)
2999 (long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
3002 POST_SYSCALL(__select50)
3003 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *tv_) {
3006 PRE_SYSCALL(__gettimeofday50)(void *tp_, void *tzp_) { /* Nothing to do */ }
3007 POST_SYSCALL(__gettimeofday50)(long long res, void *tp_, void *tzp_) {
3010 PRE_SYSCALL(__settimeofday50)(void *tv_, void *tzp_) {
3012 PRE_READ(tv_, timeval_sz);
3015 PRE_READ(tzp_, struct_timezone_sz);
3018 POST_SYSCALL(__settimeofday50)(long long res, void *tv_, void *tzp_) {}
3019 PRE_SYSCALL(__utimes50)(void *path_, void *tptr_) {
3020 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3021 const char *path = (const char *)path_;
3023 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3026 PRE_READ(tptr[0], struct_timespec_sz);
3027 PRE_READ(tptr[1], struct_timespec_sz);
3030 POST_SYSCALL(__utimes50)(long long res, void *path_, void *tptr_) {}
3031 PRE_SYSCALL(__adjtime50)(void *delta_, void *olddelta_) {
3033 PRE_READ(delta_, timeval_sz);
3036 POST_SYSCALL(__adjtime50)(long long res, void *delta_, void *olddelta_) {}
3037 PRE_SYSCALL(__lfs_segwait50)(void *fsidp_, void *tv_) { /* TODO */ }
3038 POST_SYSCALL(__lfs_segwait50)(long long res, void *fsidp_, void *tv_) {
3041 PRE_SYSCALL(__futimes50)(long long fd_, void *tptr_) {
3042 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3044 PRE_READ(tptr[0], struct_timespec_sz);
3045 PRE_READ(tptr[1], struct_timespec_sz);
3048 POST_SYSCALL(__futimes50)(long long res, long long fd_, void *tptr_) {}
3049 PRE_SYSCALL(__lutimes50)(void *path_, void *tptr_) {
3050 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3051 const char *path = (const char *)path_;
3053 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3056 PRE_READ(tptr[0], struct_timespec_sz);
3057 PRE_READ(tptr[1], struct_timespec_sz);
3060 POST_SYSCALL(__lutimes50)(long long res, void *path_, void *tptr_) {
3061 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3062 const char *path = (const char *)path_;
3064 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3067 POST_READ(tptr[0], struct_timespec_sz);
3068 POST_READ(tptr[1], struct_timespec_sz);
3071 PRE_SYSCALL(__setitimer50)(long long which_, void *itv_, void *oitv_) {
3072 struct __sanitizer_itimerval *itv = (struct __sanitizer_itimerval *)itv_;
3074 PRE_READ(&itv->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3075 PRE_READ(&itv->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3076 PRE_READ(&itv->it_value.tv_sec, sizeof(__sanitizer_time_t));
3077 PRE_READ(&itv->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3080 POST_SYSCALL(__setitimer50)
3081 (long long res, long long which_, void *itv_, void *oitv_) {}
3082 PRE_SYSCALL(__getitimer50)(long long which_, void *itv_) { /* Nothing to do */ }
3083 POST_SYSCALL(__getitimer50)(long long res, long long which_, void *itv_) {
3086 PRE_SYSCALL(__clock_gettime50)(long long clock_id_, void *tp_) {
3089 POST_SYSCALL(__clock_gettime50)(long long res, long long clock_id_, void *tp_) {
3092 PRE_SYSCALL(__clock_settime50)(long long clock_id_, void *tp_) {
3094 PRE_READ(tp_, struct_timespec_sz);
3097 POST_SYSCALL(__clock_settime50)
3098 (long long res, long long clock_id_, void *tp_) {}
3099 PRE_SYSCALL(__clock_getres50)(long long clock_id_, void *tp_) {
3102 POST_SYSCALL(__clock_getres50)(long long res, long long clock_id_, void *tp_) {
3105 PRE_SYSCALL(__nanosleep50)(void *rqtp_, void *rmtp_) {
3107 PRE_READ(rqtp_, struct_timespec_sz);
3110 POST_SYSCALL(__nanosleep50)(long long res, void *rqtp_, void *rmtp_) {}
3111 PRE_SYSCALL(____sigtimedwait50)(void *set_, void *info_, void *timeout_) {
3113 PRE_READ(set_, sizeof(__sanitizer_sigset_t));
3116 PRE_READ(timeout_, struct_timespec_sz);
3119 POST_SYSCALL(____sigtimedwait50)
3120 (long long res, void *set_, void *info_, void *timeout_) {}
3121 PRE_SYSCALL(__mq_timedsend50)
3122 (long long mqdes_, void *msg_ptr_, long long msg_len_, long long msg_prio_,
3123 void *abs_timeout_) {
3125 PRE_READ(msg_ptr_, msg_len_);
3128 PRE_READ(abs_timeout_, struct_timespec_sz);
3131 POST_SYSCALL(__mq_timedsend50)
3132 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
3133 long long msg_prio_, void *abs_timeout_) {}
3134 PRE_SYSCALL(__mq_timedreceive50)
3135 (long long mqdes_, void *msg_ptr_, long long msg_len_, void *msg_prio_,
3136 void *abs_timeout_) {
3138 PRE_READ(msg_ptr_, msg_len_);
3141 PRE_READ(abs_timeout_, struct_timespec_sz);
3144 POST_SYSCALL(__mq_timedreceive50)
3145 (long long res, long long mqdes_, void *msg_ptr_, long long msg_len_,
3146 void *msg_prio_, void *abs_timeout_) {}
3147 PRE_SYSCALL(compat_60__lwp_park)
3148 (void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
3151 POST_SYSCALL(compat_60__lwp_park)
3152 (long long res, void *ts_, long long unpark_, void *hint_, void *unparkhint_) {
3155 PRE_SYSCALL(__kevent50)
3156 (long long fd_, void *changelist_, long long nchanges_, void *eventlist_,
3157 long long nevents_, void *timeout_) {
3159 PRE_READ(changelist_, nchanges_ * struct_kevent_sz);
3162 PRE_READ(timeout_, struct_timespec_sz);
3165 POST_SYSCALL(__kevent50)
3166 (long long res, long long fd_, void *changelist_, long long nchanges_,
3167 void *eventlist_, long long nevents_, void *timeout_) {}
3168 PRE_SYSCALL(__pselect50)
3169 (long long nd_, void *in_, void *ou_, void *ex_, void *ts_, void *mask_) {
3171 PRE_READ(ts_, struct_timespec_sz);
3174 PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
3177 POST_SYSCALL(__pselect50)
3178 (long long res, long long nd_, void *in_, void *ou_, void *ex_, void *ts_,
3180 PRE_SYSCALL(__pollts50)(void *fds_, long long nfds_, void *ts_, void *mask_) {
3182 PRE_READ(ts_, struct_timespec_sz);
3185 PRE_READ(mask_, sizeof(struct __sanitizer_sigset_t));
3188 POST_SYSCALL(__pollts50)
3189 (long long res, void *fds_, long long nfds_, void *ts_, void *mask_) {}
3190 PRE_SYSCALL(__aio_suspend50)(void *list_, long long nent_, void *timeout_) {
3192 const struct aiocb *const *list = (const struct aiocb *const *)list_;
3194 for (i = 0; i < nent_; i++) {
3196 PRE_READ(list[i], sizeof(struct __sanitizer_aiocb));
3201 PRE_READ(timeout_, struct_timespec_sz);
3204 POST_SYSCALL(__aio_suspend50)
3205 (long long res, void *list_, long long nent_, void *timeout_) {}
3206 PRE_SYSCALL(__stat50)(void *path_, void *ub_) {
3207 const char *path = (const char *)path_;
3209 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3212 POST_SYSCALL(__stat50)(long long res, void *path_, void *ub_) {
3213 const char *path = (const char *)path_;
3216 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3220 PRE_SYSCALL(__fstat50)(long long fd_, void *sb_) { /* Nothing to do */ }
3221 POST_SYSCALL(__fstat50)(long long res, long long fd_, void *sb_) {
3224 PRE_SYSCALL(__lstat50)(void *path_, void *ub_) {
3225 const char *path = (const char *)path_;
3227 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3230 POST_SYSCALL(__lstat50)(long long res, void *path_, void *ub_) {
3231 const char *path = (const char *)path_;
3234 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3238 PRE_SYSCALL(____semctl50)
3239 (long long semid_, long long semnum_, long long cmd_, void *arg_) {
3242 POST_SYSCALL(____semctl50)
3243 (long long res, long long semid_, long long semnum_, long long cmd_,
3247 PRE_SYSCALL(__shmctl50)(long long shmid_, long long cmd_, void *buf_) {
3250 POST_SYSCALL(__shmctl50)
3251 (long long res, long long shmid_, long long cmd_, void *buf_) {
3254 PRE_SYSCALL(__msgctl50)(long long msqid_, long long cmd_, void *buf_) {
3257 POST_SYSCALL(__msgctl50)
3258 (long long res, long long msqid_, long long cmd_, void *buf_) {
3261 PRE_SYSCALL(__getrusage50)(long long who_, void *rusage_) {
3264 POST_SYSCALL(__getrusage50)(long long res, long long who_, void *rusage_) {
3267 PRE_SYSCALL(__timer_settime50)
3268 (long long timerid_, long long flags_, void *value_, void *ovalue_) {
3269 struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
3271 PRE_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3272 PRE_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3273 PRE_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
3274 PRE_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3277 POST_SYSCALL(__timer_settime50)
3278 (long long res, long long timerid_, long long flags_, void *value_,
3280 struct __sanitizer_itimerval *value = (struct __sanitizer_itimerval *)value_;
3283 POST_READ(&value->it_interval.tv_sec, sizeof(__sanitizer_time_t));
3284 POST_READ(&value->it_interval.tv_usec, sizeof(__sanitizer_suseconds_t));
3285 POST_READ(&value->it_value.tv_sec, sizeof(__sanitizer_time_t));
3286 POST_READ(&value->it_value.tv_usec, sizeof(__sanitizer_suseconds_t));
3290 PRE_SYSCALL(__timer_gettime50)(long long timerid_, void *value_) {
3293 POST_SYSCALL(__timer_gettime50)
3294 (long long res, long long timerid_, void *value_) {
3297 #if defined(NTP) || !defined(_KERNEL_OPT)
3298 PRE_SYSCALL(__ntp_gettime50)(void *ntvp_) { /* Nothing to do */ }
3299 POST_SYSCALL(__ntp_gettime50)(long long res, void *ntvp_) {
3303 /* syscall 448 has been skipped */
3305 PRE_SYSCALL(__wait450)
3306 (long long pid_, void *status_, long long options_, void *rusage_) {
3309 POST_SYSCALL(__wait450)
3310 (long long res, long long pid_, void *status_, long long options_,
3314 PRE_SYSCALL(__mknod50)(void *path_, long long mode_, long long dev_) {
3315 const char *path = (const char *)path_;
3317 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3320 POST_SYSCALL(__mknod50)
3321 (long long res, void *path_, long long mode_, long long dev_) {
3322 const char *path = (const char *)path_;
3325 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3329 PRE_SYSCALL(__fhstat50)(void *fhp_, long long fh_size_, void *sb_) {
3331 PRE_READ(fhp_, fh_size_);
3334 POST_SYSCALL(__fhstat50)
3335 (long long res, void *fhp_, long long fh_size_, void *sb_) {
3338 POST_READ(fhp_, fh_size_);
3342 /* syscall 452 has been skipped */
3343 PRE_SYSCALL(pipe2)(void *fildes_, long long flags_) { /* Nothing to do */ }
3344 POST_SYSCALL(pipe2)(long long res, void *fildes_, long long flags_) {
3347 PRE_SYSCALL(dup3)(long long from_, long long to_, long long flags_) {
3351 (long long res, long long from_, long long to_, long long flags_) {
3354 PRE_SYSCALL(kqueue1)(long long flags_) { /* Nothing to do */ }
3355 POST_SYSCALL(kqueue1)(long long res, long long flags_) { /* Nothing to do */ }
3356 PRE_SYSCALL(paccept)
3357 (long long s_, void *name_, void *anamelen_, void *mask_, long long flags_) {
3359 PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
3362 POST_SYSCALL(paccept)
3363 (long long res, long long s_, void *name_, void *anamelen_, void *mask_,
3367 PRE_READ(mask_, sizeof(__sanitizer_sigset_t));
3372 (long long fd1_, void *name1_, long long fd2_, void *name2_, long long flags_) {
3373 const char *name1 = (const char *)name1_;
3374 const char *name2 = (const char *)name2_;
3376 PRE_READ(name1, __sanitizer::internal_strlen(name1) + 1);
3379 PRE_READ(name2, __sanitizer::internal_strlen(name2) + 1);
3382 POST_SYSCALL(linkat)
3383 (long long res, long long fd1_, void *name1_, long long fd2_, void *name2_,
3385 const char *name1 = (const char *)name1_;
3386 const char *name2 = (const char *)name2_;
3389 POST_READ(name1, __sanitizer::internal_strlen(name1) + 1);
3392 POST_READ(name2, __sanitizer::internal_strlen(name2) + 1);
3396 PRE_SYSCALL(renameat)
3397 (long long fromfd_, void *from_, long long tofd_, void *to_) {
3398 const char *from = (const char *)from_;
3399 const char *to = (const char *)to_;
3401 PRE_READ(from, __sanitizer::internal_strlen(from) + 1);
3404 PRE_READ(to, __sanitizer::internal_strlen(to) + 1);
3407 POST_SYSCALL(renameat)
3408 (long long res, long long fromfd_, void *from_, long long tofd_, void *to_) {
3409 const char *from = (const char *)from_;
3410 const char *to = (const char *)to_;
3413 POST_READ(from, __sanitizer::internal_strlen(from) + 1);
3416 POST_READ(to, __sanitizer::internal_strlen(to) + 1);
3420 PRE_SYSCALL(mkfifoat)(long long fd_, void *path_, long long mode_) {
3421 const char *path = (const char *)path_;
3423 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3426 POST_SYSCALL(mkfifoat)
3427 (long long res, long long fd_, void *path_, long long mode_) {
3428 const char *path = (const char *)path_;
3431 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3435 PRE_SYSCALL(mknodat)
3436 (long long fd_, void *path_, long long mode_, long long PAD_, long long dev_) {
3437 const char *path = (const char *)path_;
3439 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3442 POST_SYSCALL(mknodat)
3443 (long long res, long long fd_, void *path_, long long mode_, long long PAD_,
3445 const char *path = (const char *)path_;
3448 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3452 PRE_SYSCALL(mkdirat)(long long fd_, void *path_, long long mode_) {
3453 const char *path = (const char *)path_;
3455 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3458 POST_SYSCALL(mkdirat)
3459 (long long res, long long fd_, void *path_, long long mode_) {
3460 const char *path = (const char *)path_;
3463 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3467 PRE_SYSCALL(faccessat)
3468 (long long fd_, void *path_, long long amode_, long long flag_) {
3469 const char *path = (const char *)path_;
3471 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3474 POST_SYSCALL(faccessat)
3475 (long long res, long long fd_, void *path_, long long amode_, long long flag_) {
3476 const char *path = (const char *)path_;
3479 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3483 PRE_SYSCALL(fchmodat)
3484 (long long fd_, void *path_, long long mode_, long long flag_) {
3485 const char *path = (const char *)path_;
3487 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3490 POST_SYSCALL(fchmodat)
3491 (long long res, long long fd_, void *path_, long long mode_, long long flag_) {
3492 const char *path = (const char *)path_;
3495 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3499 PRE_SYSCALL(fchownat)
3500 (long long fd_, void *path_, long long owner_, long long group_,
3502 const char *path = (const char *)path_;
3504 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3507 POST_SYSCALL(fchownat)
3508 (long long res, long long fd_, void *path_, long long owner_, long long group_,
3510 const char *path = (const char *)path_;
3513 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3517 PRE_SYSCALL(fexecve)(long long fd_, void *argp_, void *envp_) { /* TODO */ }
3518 POST_SYSCALL(fexecve)(long long res, long long fd_, void *argp_, void *envp_) {
3521 PRE_SYSCALL(fstatat)(long long fd_, void *path_, void *buf_, long long flag_) {
3522 const char *path = (const char *)path_;
3524 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3527 POST_SYSCALL(fstatat)
3528 (long long res, long long fd_, void *path_, void *buf_, long long flag_) {
3529 const char *path = (const char *)path_;
3531 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3534 PRE_SYSCALL(utimensat)
3535 (long long fd_, void *path_, void *tptr_, long long flag_) {
3536 const char *path = (const char *)path_;
3538 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3541 PRE_READ(tptr_, struct_timespec_sz);
3544 POST_SYSCALL(utimensat)
3545 (long long res, long long fd_, void *path_, void *tptr_, long long flag_) {
3546 const char *path = (const char *)path_;
3549 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3552 POST_READ(tptr_, struct_timespec_sz);
3557 (long long fd_, void *path_, long long oflags_, long long mode_) {
3558 const char *path = (const char *)path_;
3560 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3563 POST_SYSCALL(openat)
3564 (long long res, long long fd_, void *path_, long long oflags_,
3566 const char *path = (const char *)path_;
3569 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3573 PRE_SYSCALL(readlinkat)
3574 (long long fd_, void *path_, void *buf_, long long bufsize_) {
3575 const char *path = (const char *)path_;
3577 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3580 POST_SYSCALL(readlinkat)
3581 (long long res, long long fd_, void *path_, void *buf_, long long bufsize_) {
3582 const char *path = (const char *)path_;
3585 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3589 PRE_SYSCALL(symlinkat)(void *path1_, long long fd_, void *path2_) {
3590 const char *path1 = (const char *)path1_;
3591 const char *path2 = (const char *)path2_;
3593 PRE_READ(path1, __sanitizer::internal_strlen(path1) + 1);
3596 PRE_READ(path2, __sanitizer::internal_strlen(path2) + 1);
3599 POST_SYSCALL(symlinkat)
3600 (long long res, void *path1_, long long fd_, void *path2_) {
3601 const char *path1 = (const char *)path1_;
3602 const char *path2 = (const char *)path2_;
3605 POST_READ(path1, __sanitizer::internal_strlen(path1) + 1);
3608 POST_READ(path2, __sanitizer::internal_strlen(path2) + 1);
3612 PRE_SYSCALL(unlinkat)(long long fd_, void *path_, long long flag_) {
3613 const char *path = (const char *)path_;
3615 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3618 POST_SYSCALL(unlinkat)
3619 (long long res, long long fd_, void *path_, long long flag_) {
3620 const char *path = (const char *)path_;
3623 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3627 PRE_SYSCALL(futimens)(long long fd_, void *tptr_) {
3628 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3630 PRE_READ(tptr[0], struct_timespec_sz);
3631 PRE_READ(tptr[1], struct_timespec_sz);
3634 POST_SYSCALL(futimens)(long long res, long long fd_, void *tptr_) {
3635 struct __sanitizer_timespec **tptr = (struct __sanitizer_timespec **)tptr_;
3638 POST_READ(tptr[0], struct_timespec_sz);
3639 POST_READ(tptr[1], struct_timespec_sz);
3643 PRE_SYSCALL(__quotactl)(void *path_, void *args_) {
3644 const char *path = (const char *)path_;
3646 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3649 POST_SYSCALL(__quotactl)(long long res, void *path_, void *args_) {
3650 const char *path = (const char *)path_;
3653 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3657 PRE_SYSCALL(posix_spawn)
3658 (void *pid_, void *path_, void *file_actions_, void *attrp_, void *argv_,
3660 const char *path = (const char *)path_;
3662 PRE_READ(path, __sanitizer::internal_strlen(path) + 1);
3665 POST_SYSCALL(posix_spawn)
3666 (long long res, void *pid_, void *path_, void *file_actions_, void *attrp_,
3667 void *argv_, void *envp_) {
3668 const char *path = (const char *)path_;
3671 POST_READ(path, __sanitizer::internal_strlen(path) + 1);
3675 PRE_SYSCALL(recvmmsg)
3676 (long long s_, void *mmsg_, long long vlen_, long long flags_, void *timeout_) {
3678 PRE_READ(timeout_, struct_timespec_sz);
3681 POST_SYSCALL(recvmmsg)
3682 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_,
3686 POST_READ(timeout_, struct_timespec_sz);
3690 PRE_SYSCALL(sendmmsg)
3691 (long long s_, void *mmsg_, long long vlen_, long long flags_) {
3692 struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
3694 PRE_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) *
3695 (vlen_ > 1024 ? 1024 : vlen_));
3698 POST_SYSCALL(sendmmsg)
3699 (long long res, long long s_, void *mmsg_, long long vlen_, long long flags_) {
3700 struct __sanitizer_mmsghdr *mmsg = (struct __sanitizer_mmsghdr *)mmsg_;
3703 POST_READ(mmsg, sizeof(struct __sanitizer_mmsghdr) *
3704 (vlen_ > 1024 ? 1024 : vlen_));
3708 PRE_SYSCALL(clock_nanosleep)
3709 (long long clock_id_, long long flags_, void *rqtp_, void *rmtp_) {
3711 PRE_READ(rqtp_, struct_timespec_sz);
3714 POST_SYSCALL(clock_nanosleep)
3715 (long long res, long long clock_id_, long long flags_, void *rqtp_,
3718 POST_READ(rqtp_, struct_timespec_sz);
3721 PRE_SYSCALL(___lwp_park60)
3722 (long long clock_id_, long long flags_, void *ts_, long long unpark_,
3723 void *hint_, void *unparkhint_) {
3725 PRE_READ(ts_, struct_timespec_sz);
3728 POST_SYSCALL(___lwp_park60)
3729 (long long res, long long clock_id_, long long flags_, void *ts_,
3730 long long unpark_, void *hint_, void *unparkhint_) {
3733 POST_READ(ts_, struct_timespec_sz);
3737 PRE_SYSCALL(posix_fallocate)
3738 (long long fd_, long long PAD_, long long pos_, long long len_) {
3741 POST_SYSCALL(posix_fallocate)
3742 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
3745 PRE_SYSCALL(fdiscard)
3746 (long long fd_, long long PAD_, long long pos_, long long len_) {
3749 POST_SYSCALL(fdiscard)
3750 (long long res, long long fd_, long long PAD_, long long pos_, long long len_) {
3754 (long long idtype_, long long id_, void *status_, long long options_,
3755 void *wru_, void *info_) {
3759 (long long res, long long idtype_, long long id_, void *status_,
3760 long long options_, void *wru_, void *info_) {
3763 PRE_SYSCALL(clock_getcpuclockid2)
3764 (long long idtype_, long long id_, void *clock_id_) {
3767 POST_SYSCALL(clock_getcpuclockid2)
3768 (long long res, long long idtype_, long long id_, void *clock_id_) {
3771 #undef SYS_MAXSYSARGS
3781 #endif // SANITIZER_NETBSD