syscalls_arm64.go 1017 B

12345678910111213141516171819202122232425262728293031323334353637
  1. //go:build linux && arm64
  2. package nodejs_syscall
  3. import "syscall"
  4. var ALLOW_SYSCALLS = []int{
  5. // file
  6. syscall.SYS_CLOSE, syscall.SYS_WRITE,
  7. syscall.SYS_FSTAT, syscall.SYS_FCNTL,
  8. syscall.SYS_READLINKAT,
  9. // process
  10. syscall.SYS_GETPID, syscall.SYS_TGKILL, syscall.SYS_FUTEX, syscall.SYS_EXIT_GROUP,
  11. // memory
  12. syscall.SYS_RT_SIGPROCMASK, syscall.SYS_SIGALTSTACK, syscall.SYS_RT_SIGACTION,
  13. syscall.SYS_MMAP, syscall.SYS_MUNMAP, syscall.SYS_MADVISE, syscall.SYS_MPROTECT,
  14. //user/group
  15. syscall.SYS_SETUID, syscall.SYS_SETGID,
  16. syscall.SYS_GETUID, syscall.SYS_GETGID,
  17. // epoll
  18. syscall.SYS_EPOLL_CTL, syscall.SYS_EPOLL_PWAIT,
  19. }
  20. var ERROR_CODE_SYSCALLS = []int{
  21. // file io
  22. syscall.SYS_OPENAT, syscall.SYS_FSTATAT, syscall.SYS_IOCTL, syscall.SYS_READ, syscall.SYS_LSEEK,
  23. }
  24. var ALLOW_NETWORK_SYSCALLS = []int{
  25. syscall.SYS_SOCKET, syscall.SYS_CONNECT, syscall.SYS_BIND, syscall.SYS_LISTEN, syscall.SYS_ACCEPT, syscall.SYS_SENDTO, syscall.SYS_RECVFROM,
  26. syscall.SYS_GETSOCKNAME, syscall.SYS_GETPEERNAME,
  27. }