|
@@ -44,157 +44,157 @@ enum class NeedsBigProcessLock {
|
|
|
// - VERIFY_NO_PROCESS_BIG_LOCK(this)
|
|
|
//
|
|
|
#define ENUMERATE_SYSCALLS(S) \
|
|
|
- S(yield, NeedsBigProcessLock::No) \
|
|
|
- S(open, NeedsBigProcessLock::Yes) \
|
|
|
+ S(accept4, NeedsBigProcessLock::Yes) \
|
|
|
+ S(access, NeedsBigProcessLock::Yes) \
|
|
|
+ S(adjtime, NeedsBigProcessLock::Yes) \
|
|
|
+ S(alarm, NeedsBigProcessLock::Yes) \
|
|
|
+ S(allocate_tls, NeedsBigProcessLock::Yes) \
|
|
|
+ S(anon_create, NeedsBigProcessLock::Yes) \
|
|
|
+ S(beep, NeedsBigProcessLock::No) \
|
|
|
+ S(bind, NeedsBigProcessLock::Yes) \
|
|
|
+ S(chdir, NeedsBigProcessLock::Yes) \
|
|
|
+ S(chmod, NeedsBigProcessLock::Yes) \
|
|
|
+ S(chown, NeedsBigProcessLock::Yes) \
|
|
|
+ S(chroot, NeedsBigProcessLock::Yes) \
|
|
|
+ S(clock_gettime, NeedsBigProcessLock::No) \
|
|
|
+ S(clock_nanosleep, NeedsBigProcessLock::No) \
|
|
|
+ S(clock_settime, NeedsBigProcessLock::Yes) \
|
|
|
S(close, NeedsBigProcessLock::Yes) \
|
|
|
- S(read, NeedsBigProcessLock::Yes) \
|
|
|
- S(lseek, NeedsBigProcessLock::Yes) \
|
|
|
- S(kill, NeedsBigProcessLock::Yes) \
|
|
|
- S(getuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(connect, NeedsBigProcessLock::Yes) \
|
|
|
+ S(create_inode_watcher, NeedsBigProcessLock::Yes) \
|
|
|
+ S(create_thread, NeedsBigProcessLock::Yes) \
|
|
|
+ S(dbgputch, NeedsBigProcessLock::No) \
|
|
|
+ S(dbgputstr, NeedsBigProcessLock::No) \
|
|
|
+ S(detach_thread, NeedsBigProcessLock::Yes) \
|
|
|
+ S(disown, NeedsBigProcessLock::Yes) \
|
|
|
+ S(dump_backtrace, NeedsBigProcessLock::No) \
|
|
|
+ S(dup2, NeedsBigProcessLock::Yes) \
|
|
|
+ S(emuctl, NeedsBigProcessLock::Yes) \
|
|
|
+ S(execve, NeedsBigProcessLock::Yes) \
|
|
|
S(exit, NeedsBigProcessLock::Yes) \
|
|
|
- S(geteuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(exit_thread, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fchdir, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fchmod, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fchown, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fcntl, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fork, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fstat, NeedsBigProcessLock::Yes) \
|
|
|
+ S(fstatvfs, NeedsBigProcessLock::Yes) \
|
|
|
+ S(ftruncate, NeedsBigProcessLock::Yes) \
|
|
|
+ S(futex, NeedsBigProcessLock::Yes) \
|
|
|
+ S(get_dir_entries, NeedsBigProcessLock::Yes) \
|
|
|
+ S(get_process_name, NeedsBigProcessLock::Yes) \
|
|
|
+ S(get_stack_bounds, NeedsBigProcessLock::No) \
|
|
|
+ S(get_thread_name, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getcwd, NeedsBigProcessLock::Yes) \
|
|
|
S(getegid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(geteuid, NeedsBigProcessLock::Yes) \
|
|
|
S(getgid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getgroups, NeedsBigProcessLock::Yes) \
|
|
|
+ S(gethostname, NeedsBigProcessLock::No) \
|
|
|
+ S(getkeymap, NeedsBigProcessLock::No) \
|
|
|
+ S(getpeername, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getpgid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getpgrp, NeedsBigProcessLock::Yes) \
|
|
|
S(getpid, NeedsBigProcessLock::No) \
|
|
|
S(getppid, NeedsBigProcessLock::Yes) \
|
|
|
- S(getresuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getrandom, NeedsBigProcessLock::No) \
|
|
|
S(getresgid, NeedsBigProcessLock::Yes) \
|
|
|
- S(waitid, NeedsBigProcessLock::Yes) \
|
|
|
- S(mmap, NeedsBigProcessLock::Yes) \
|
|
|
- S(munmap, NeedsBigProcessLock::Yes) \
|
|
|
- S(get_dir_entries, NeedsBigProcessLock::Yes) \
|
|
|
- S(getcwd, NeedsBigProcessLock::Yes) \
|
|
|
- S(gethostname, NeedsBigProcessLock::No) \
|
|
|
- S(sethostname, NeedsBigProcessLock::No) \
|
|
|
- S(chdir, NeedsBigProcessLock::Yes) \
|
|
|
- S(uname, NeedsBigProcessLock::No) \
|
|
|
- S(set_mmap_name, NeedsBigProcessLock::Yes) \
|
|
|
- S(readlink, NeedsBigProcessLock::Yes) \
|
|
|
- S(write, NeedsBigProcessLock::Yes) \
|
|
|
- S(ttyname, NeedsBigProcessLock::Yes) \
|
|
|
- S(stat, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getresuid, NeedsBigProcessLock::Yes) \
|
|
|
S(getsid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setsid, NeedsBigProcessLock::Yes) \
|
|
|
- S(getpgid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setpgid, NeedsBigProcessLock::Yes) \
|
|
|
- S(getpgrp, NeedsBigProcessLock::Yes) \
|
|
|
- S(fork, NeedsBigProcessLock::Yes) \
|
|
|
- S(execve, NeedsBigProcessLock::Yes) \
|
|
|
- S(dup2, NeedsBigProcessLock::Yes) \
|
|
|
- S(sigaction, NeedsBigProcessLock::Yes) \
|
|
|
- S(umask, NeedsBigProcessLock::Yes) \
|
|
|
- S(getgroups, NeedsBigProcessLock::Yes) \
|
|
|
- S(setgroups, NeedsBigProcessLock::Yes) \
|
|
|
- S(sigreturn, NeedsBigProcessLock::Yes) \
|
|
|
- S(sigprocmask, NeedsBigProcessLock::Yes) \
|
|
|
- S(sigpending, NeedsBigProcessLock::Yes) \
|
|
|
- S(pipe, NeedsBigProcessLock::Yes) \
|
|
|
- S(killpg, NeedsBigProcessLock::Yes) \
|
|
|
- S(seteuid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setegid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setuid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setgid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setreuid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setresuid, NeedsBigProcessLock::Yes) \
|
|
|
- S(setresgid, NeedsBigProcessLock::Yes) \
|
|
|
- S(alarm, NeedsBigProcessLock::Yes) \
|
|
|
- S(fstat, NeedsBigProcessLock::Yes) \
|
|
|
- S(access, NeedsBigProcessLock::Yes) \
|
|
|
- S(fcntl, NeedsBigProcessLock::Yes) \
|
|
|
- S(ioctl, NeedsBigProcessLock::Yes) \
|
|
|
- S(mkdir, NeedsBigProcessLock::Yes) \
|
|
|
- S(times, NeedsBigProcessLock::Yes) \
|
|
|
- S(utime, NeedsBigProcessLock::Yes) \
|
|
|
- S(sync, NeedsBigProcessLock::No) \
|
|
|
- S(ptsname, NeedsBigProcessLock::Yes) \
|
|
|
- S(select, NeedsBigProcessLock::Yes) \
|
|
|
- S(unlink, NeedsBigProcessLock::Yes) \
|
|
|
- S(poll, NeedsBigProcessLock::Yes) \
|
|
|
- S(rmdir, NeedsBigProcessLock::Yes) \
|
|
|
- S(chmod, NeedsBigProcessLock::Yes) \
|
|
|
- S(socket, NeedsBigProcessLock::Yes) \
|
|
|
- S(bind, NeedsBigProcessLock::Yes) \
|
|
|
- S(accept4, NeedsBigProcessLock::Yes) \
|
|
|
- S(listen, NeedsBigProcessLock::Yes) \
|
|
|
- S(connect, NeedsBigProcessLock::Yes) \
|
|
|
- S(link, NeedsBigProcessLock::Yes) \
|
|
|
- S(chown, NeedsBigProcessLock::Yes) \
|
|
|
- S(fchmod, NeedsBigProcessLock::Yes) \
|
|
|
- S(symlink, NeedsBigProcessLock::Yes) \
|
|
|
- S(sendmsg, NeedsBigProcessLock::Yes) \
|
|
|
- S(recvmsg, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getsockname, NeedsBigProcessLock::Yes) \
|
|
|
S(getsockopt, NeedsBigProcessLock::Yes) \
|
|
|
- S(setsockopt, NeedsBigProcessLock::Yes) \
|
|
|
- S(create_thread, NeedsBigProcessLock::Yes) \
|
|
|
S(gettid, NeedsBigProcessLock::No) \
|
|
|
- S(rename, NeedsBigProcessLock::Yes) \
|
|
|
- S(ftruncate, NeedsBigProcessLock::Yes) \
|
|
|
- S(exit_thread, NeedsBigProcessLock::Yes) \
|
|
|
- S(mknod, NeedsBigProcessLock::Yes) \
|
|
|
- S(writev, NeedsBigProcessLock::Yes) \
|
|
|
- S(beep, NeedsBigProcessLock::No) \
|
|
|
- S(getsockname, NeedsBigProcessLock::Yes) \
|
|
|
- S(getpeername, NeedsBigProcessLock::Yes) \
|
|
|
- S(socketpair, NeedsBigProcessLock::Yes) \
|
|
|
- S(sched_setparam, NeedsBigProcessLock::Yes) \
|
|
|
- S(sched_getparam, NeedsBigProcessLock::Yes) \
|
|
|
- S(fchown, NeedsBigProcessLock::Yes) \
|
|
|
+ S(getuid, NeedsBigProcessLock::Yes) \
|
|
|
S(halt, NeedsBigProcessLock::Yes) \
|
|
|
- S(reboot, NeedsBigProcessLock::Yes) \
|
|
|
- S(mount, NeedsBigProcessLock::Yes) \
|
|
|
- S(umount, NeedsBigProcessLock::Yes) \
|
|
|
- S(dump_backtrace, NeedsBigProcessLock::No) \
|
|
|
- S(dbgputch, NeedsBigProcessLock::No) \
|
|
|
- S(dbgputstr, NeedsBigProcessLock::No) \
|
|
|
- S(create_inode_watcher, NeedsBigProcessLock::Yes) \
|
|
|
S(inode_watcher_add_watch, NeedsBigProcessLock::Yes) \
|
|
|
S(inode_watcher_remove_watch, NeedsBigProcessLock::Yes) \
|
|
|
- S(mprotect, NeedsBigProcessLock::Yes) \
|
|
|
- S(realpath, NeedsBigProcessLock::Yes) \
|
|
|
- S(get_process_name, NeedsBigProcessLock::Yes) \
|
|
|
- S(fchdir, NeedsBigProcessLock::Yes) \
|
|
|
- S(getrandom, NeedsBigProcessLock::No) \
|
|
|
- S(getkeymap, NeedsBigProcessLock::No) \
|
|
|
- S(setkeymap, NeedsBigProcessLock::Yes) \
|
|
|
- S(clock_gettime, NeedsBigProcessLock::No) \
|
|
|
- S(clock_settime, NeedsBigProcessLock::Yes) \
|
|
|
- S(clock_nanosleep, NeedsBigProcessLock::No) \
|
|
|
+ S(ioctl, NeedsBigProcessLock::Yes) \
|
|
|
S(join_thread, NeedsBigProcessLock::Yes) \
|
|
|
+ S(kill, NeedsBigProcessLock::Yes) \
|
|
|
+ S(kill_thread, NeedsBigProcessLock::Yes) \
|
|
|
+ S(killpg, NeedsBigProcessLock::Yes) \
|
|
|
+ S(link, NeedsBigProcessLock::Yes) \
|
|
|
+ S(listen, NeedsBigProcessLock::Yes) \
|
|
|
+ S(lseek, NeedsBigProcessLock::Yes) \
|
|
|
+ S(madvise, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mkdir, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mknod, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mmap, NeedsBigProcessLock::Yes) \
|
|
|
S(module_load, NeedsBigProcessLock::Yes) \
|
|
|
S(module_unload, NeedsBigProcessLock::Yes) \
|
|
|
- S(detach_thread, NeedsBigProcessLock::Yes) \
|
|
|
- S(set_thread_name, NeedsBigProcessLock::Yes) \
|
|
|
- S(get_thread_name, NeedsBigProcessLock::Yes) \
|
|
|
- S(madvise, NeedsBigProcessLock::Yes) \
|
|
|
- S(purge, NeedsBigProcessLock::Yes) \
|
|
|
- S(profiling_enable, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mount, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mprotect, NeedsBigProcessLock::Yes) \
|
|
|
+ S(mremap, NeedsBigProcessLock::Yes) \
|
|
|
+ S(msyscall, NeedsBigProcessLock::Yes) \
|
|
|
+ S(munmap, NeedsBigProcessLock::Yes) \
|
|
|
+ S(open, NeedsBigProcessLock::Yes) \
|
|
|
+ S(perf_event, NeedsBigProcessLock::Yes) \
|
|
|
+ S(pipe, NeedsBigProcessLock::Yes) \
|
|
|
+ S(pledge, NeedsBigProcessLock::Yes) \
|
|
|
+ S(poll, NeedsBigProcessLock::Yes) \
|
|
|
+ S(prctl, NeedsBigProcessLock::Yes) \
|
|
|
S(profiling_disable, NeedsBigProcessLock::Yes) \
|
|
|
+ S(profiling_enable, NeedsBigProcessLock::Yes) \
|
|
|
S(profiling_free_buffer, NeedsBigProcessLock::Yes) \
|
|
|
- S(futex, NeedsBigProcessLock::Yes) \
|
|
|
- S(chroot, NeedsBigProcessLock::Yes) \
|
|
|
- S(pledge, NeedsBigProcessLock::Yes) \
|
|
|
- S(unveil, NeedsBigProcessLock::Yes) \
|
|
|
- S(perf_event, NeedsBigProcessLock::Yes) \
|
|
|
- S(shutdown, NeedsBigProcessLock::Yes) \
|
|
|
- S(get_stack_bounds, NeedsBigProcessLock::No) \
|
|
|
S(ptrace, NeedsBigProcessLock::Yes) \
|
|
|
- S(sendfd, NeedsBigProcessLock::Yes) \
|
|
|
+ S(ptsname, NeedsBigProcessLock::Yes) \
|
|
|
+ S(purge, NeedsBigProcessLock::Yes) \
|
|
|
+ S(read, NeedsBigProcessLock::Yes) \
|
|
|
+ S(readlink, NeedsBigProcessLock::Yes) \
|
|
|
+ S(readv, NeedsBigProcessLock::Yes) \
|
|
|
+ S(realpath, NeedsBigProcessLock::Yes) \
|
|
|
+ S(reboot, NeedsBigProcessLock::Yes) \
|
|
|
S(recvfd, NeedsBigProcessLock::Yes) \
|
|
|
- S(sysconf, NeedsBigProcessLock::No) \
|
|
|
- S(set_process_name, NeedsBigProcessLock::Yes) \
|
|
|
- S(disown, NeedsBigProcessLock::Yes) \
|
|
|
- S(adjtime, NeedsBigProcessLock::Yes) \
|
|
|
- S(allocate_tls, NeedsBigProcessLock::Yes) \
|
|
|
- S(prctl, NeedsBigProcessLock::Yes) \
|
|
|
- S(mremap, NeedsBigProcessLock::Yes) \
|
|
|
+ S(recvmsg, NeedsBigProcessLock::Yes) \
|
|
|
+ S(rename, NeedsBigProcessLock::Yes) \
|
|
|
+ S(rmdir, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sched_getparam, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sched_setparam, NeedsBigProcessLock::Yes) \
|
|
|
+ S(select, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sendfd, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sendmsg, NeedsBigProcessLock::Yes) \
|
|
|
S(set_coredump_metadata, NeedsBigProcessLock::Yes) \
|
|
|
- S(anon_create, NeedsBigProcessLock::Yes) \
|
|
|
- S(msyscall, NeedsBigProcessLock::Yes) \
|
|
|
- S(readv, NeedsBigProcessLock::Yes) \
|
|
|
- S(emuctl, NeedsBigProcessLock::Yes) \
|
|
|
+ S(set_mmap_name, NeedsBigProcessLock::Yes) \
|
|
|
+ S(set_process_name, NeedsBigProcessLock::Yes) \
|
|
|
+ S(set_thread_name, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setegid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(seteuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setgid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setgroups, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sethostname, NeedsBigProcessLock::No) \
|
|
|
+ S(setkeymap, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setpgid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setresgid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setresuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setreuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setsid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setsockopt, NeedsBigProcessLock::Yes) \
|
|
|
+ S(setuid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(shutdown, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sigaction, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sigpending, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sigprocmask, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sigreturn, NeedsBigProcessLock::Yes) \
|
|
|
+ S(socket, NeedsBigProcessLock::Yes) \
|
|
|
+ S(socketpair, NeedsBigProcessLock::Yes) \
|
|
|
+ S(stat, NeedsBigProcessLock::Yes) \
|
|
|
S(statvfs, NeedsBigProcessLock::Yes) \
|
|
|
- S(fstatvfs, NeedsBigProcessLock::Yes) \
|
|
|
- S(kill_thread, NeedsBigProcessLock::Yes)
|
|
|
+ S(symlink, NeedsBigProcessLock::Yes) \
|
|
|
+ S(sync, NeedsBigProcessLock::No) \
|
|
|
+ S(sysconf, NeedsBigProcessLock::No) \
|
|
|
+ S(times, NeedsBigProcessLock::Yes) \
|
|
|
+ S(ttyname, NeedsBigProcessLock::Yes) \
|
|
|
+ S(umask, NeedsBigProcessLock::Yes) \
|
|
|
+ S(umount, NeedsBigProcessLock::Yes) \
|
|
|
+ S(uname, NeedsBigProcessLock::No) \
|
|
|
+ S(unlink, NeedsBigProcessLock::Yes) \
|
|
|
+ S(unveil, NeedsBigProcessLock::Yes) \
|
|
|
+ S(utime, NeedsBigProcessLock::Yes) \
|
|
|
+ S(waitid, NeedsBigProcessLock::Yes) \
|
|
|
+ S(write, NeedsBigProcessLock::Yes) \
|
|
|
+ S(writev, NeedsBigProcessLock::Yes) \
|
|
|
+ S(yield, NeedsBigProcessLock::No)
|
|
|
|
|
|
namespace Syscall {
|
|
|
|