syscalls_amd64.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //go:build linux && amd64
  2. package nodejs_syscall
  3. import "syscall"
  4. var ALLOW_SYSCALLS = []int{
  5. syscall.SYS_OPEN, syscall.SYS_WRITE, syscall.SYS_CLOSE,
  6. syscall.SYS_FSTAT,
  7. syscall.SYS_MPROTECT, syscall.SYS_MMAP, syscall.SYS_MUNMAP,
  8. syscall.SYS_BRK,
  9. syscall.SYS_RT_SIGACTION, syscall.SYS_RT_SIGPROCMASK,
  10. syscall.SYS_MADVISE, syscall.SYS_GETPID, syscall.SYS_GETUID,
  11. syscall.SYS_FCNTL, syscall.SYS_SIGALTSTACK,
  12. syscall.SYS_FUTEX,
  13. syscall.SYS_EXIT_GROUP,
  14. syscall.SYS_EPOLL_CTL,
  15. syscall.SYS_EPOLL_PWAIT,
  16. syscall.SYS_SETUID, syscall.SYS_SETGID,
  17. syscall.SYS_CLOCK_GETTIME, syscall.SYS_GETTIMEOFDAY, syscall.SYS_NANOSLEEP,
  18. syscall.SYS_TIME,
  19. syscall.SYS_TGKILL,
  20. syscall.SYS_READLINK,
  21. syscall.SYS_DUP3,
  22. }
  23. var ERROR_CODE_SYSCALLS = []int{
  24. // file io
  25. syscall.SYS_OPENAT, syscall.SYS_NEWFSTATAT, syscall.SYS_IOCTL, syscall.SYS_READ, syscall.SYS_LSEEK,
  26. }
  27. var ALLOW_NETWORK_SYSCALLS = []int{
  28. syscall.SYS_SOCKET, syscall.SYS_CONNECT, syscall.SYS_BIND, syscall.SYS_LISTEN, syscall.SYS_ACCEPT, syscall.SYS_SENDTO, syscall.SYS_RECVFROM,
  29. syscall.SYS_GETSOCKNAME, syscall.SYS_GETPEERNAME,
  30. }