Linux/arm64

This table is a reference of linux syscalls for the arm64 architecture and their compatibility status in gVisor. gVisor does not support all syscalls and some syscalls may have a partial implementation. However, note that a syscall not being implemented in gVisor does not imply that applications using it will not work. Most language runtimes and libraries that call a syscall marked as unimplemented in this table have fallback code to use an alternative syscall that is supported in gVisor. See the compatibility page for more info.

This page is automatically generated from the source code.

Of 293 syscalls, 237 syscalls have a full or partial implementation. There are currently 56 unsupported syscalls.

# Name Support Notes
0 io_setup Partial Support Generally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
1 io_destroy Partial Support Generally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
2 io_submit Partial Support Generally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
3 io_cancel Partial Support Generally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
4 io_getevents Partial Support Generally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
5 setxattr Full Support Fully Supported.
6 lsetxattr Full Support Fully Supported.
7 fsetxattr Full Support Fully Supported.
8 getxattr Full Support Fully Supported.
9 lgetxattr Full Support Fully Supported.
10 fgetxattr Full Support Fully Supported.
11 listxattr Full Support Fully Supported.
12 llistxattr Full Support Fully Supported.
13 flistxattr Full Support Fully Supported.
14 removexattr Full Support Fully Supported.
15 lremovexattr Full Support Fully Supported.
16 fremovexattr Full Support Fully Supported.
17 getcwd Full Support Fully Supported.
18 lookup_dcookie Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
19 eventfd2 Full Support Fully Supported.
20 epoll_create1 Full Support Fully Supported.
21 epoll_ctl Full Support Fully Supported.
22 epoll_pwait Full Support Fully Supported.
23 dup Full Support Fully Supported.
24 dup3 Full Support Fully Supported.
25 fcntl Full Support Fully Supported.
26 inotify_init1 Partial Support inotify events are only available inside the sandbox.
27 inotify_add_watch Partial Support inotify events are only available inside the sandbox.
28 inotify_rm_watch Partial Support inotify events are only available inside the sandbox.
29 ioctl Full Support Fully Supported.
30 ioprio_set Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
31 ioprio_get Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
32 flock Full Support Fully Supported.
33 mknodat Full Support Fully Supported.
34 mkdirat Full Support Fully Supported.
35 unlinkat Full Support Fully Supported.
36 symlinkat Full Support Fully Supported.
37 linkat Full Support Fully Supported.
38 renameat Full Support Fully Supported.
39 umount2 Full Support Fully Supported.
40 mount Full Support Fully Supported.
41 pivot_root Full Support Fully Supported.
42 nfsservctl Unimplemented Removed after Linux 3.1.; Returns "invalid system call number".
43 statfs Full Support Fully Supported.
44 fstatfs Full Support Fully Supported.
45 truncate Full Support Fully Supported.
46 ftruncate Full Support Fully Supported.
47 fallocate Partial Support Not all options are supported.
48 faccessat Full Support Fully Supported.
49 chdir Full Support Fully Supported.
50 fchdir Full Support Fully Supported.
51 chroot Full Support Fully Supported.
52 fchmod Full Support Fully Supported.
53 fchmodat Full Support Fully Supported.
54 fchownat Full Support Fully Supported.
55 fchown Full Support Fully Supported.
56 openat Full Support Fully Supported.
57 close Full Support Fully Supported.
58 vhangup Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_TTY_CONFIG; "invalid system call number" otherwise.
59 pipe2 Full Support Fully Supported.
60 quotactl Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
61 getdents64 Full Support Fully Supported.
62 lseek Full Support Fully Supported.
63 read Full Support Fully Supported.
64 write Full Support Fully Supported.
65 readv Full Support Fully Supported.
66 writev Full Support Fully Supported.
67 pread64 Full Support Fully Supported.
68 pwrite64 Full Support Fully Supported.
69 preadv Full Support Fully Supported.
70 pwritev Full Support Fully Supported.
71 sendfile Full Support Fully Supported.
72 pselect6 Full Support Fully Supported.
73 ppoll Full Support Fully Supported.
74 signalfd4 Full Support Fully Supported.
75 vmsplice Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/138
76 splice Full Support Fully Supported.
77 tee Full Support Fully Supported.
78 readlinkat Full Support Fully Supported.
79 newfstatat Full Support Fully Supported.
80 fstat Full Support Fully Supported.
81 sync Full Support Fully Supported.
82 fsync Full Support Fully Supported.
83 fdatasync Full Support Fully Supported.
84 sync_file_range Full Support Fully Supported.
85 timerfd_create Full Support Fully Supported.
86 timerfd_settime Full Support Fully Supported.
87 timerfd_gettime Full Support Fully Supported.
88 utimensat Full Support Fully Supported.
89 acct Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_PACCT; "invalid system call number" otherwise.
90 capget Full Support Fully Supported.
91 capset Full Support Fully Supported.
92 personality Unimplemented Unable to change personality.; Returns "invalid argument".
93 exit Full Support Fully Supported.
94 exit_group Full Support Fully Supported.
95 waitid Full Support Fully Supported.
96 set_tid_address Full Support Fully Supported.
97 unshare Partial Support Time, cgroup namespaces not supported.
98 futex Partial Support Robust futexes not supported.
99 set_robust_list Full Support Fully Supported.
100 get_robust_list Full Support Fully Supported.
101 nanosleep Full Support Fully Supported.
102 getitimer Full Support Fully Supported.
103 setitimer Full Support Fully Supported.
104 kexec_load Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_BOOT; "invalid system call number" otherwise.
105 init_module Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
106 delete_module Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
107 timer_create Full Support Fully Supported.
108 timer_gettime Full Support Fully Supported.
109 timer_getoverrun Full Support Fully Supported.
110 timer_settime Full Support Fully Supported.
111 timer_delete Full Support Fully Supported.
112 clock_settime Full Support Fully Supported.
113 clock_gettime Full Support Fully Supported.
114 clock_getres Full Support Fully Supported.
115 clock_nanosleep Full Support Fully Supported.
116 syslog Partial Support Outputs a dummy message for security reasons.
117 ptrace Partial Support Options PTRACE_PEEKSIGINFO, PTRACE_SECCOMP_GET_FILTER not supported.
118 sched_setparam Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
119 sched_setscheduler Partial Support Stub implementation.
120 sched_getscheduler Partial Support Stub implementation.
121 sched_getparam Partial Support Stub implementation.
122 sched_setaffinity Partial Support Stub implementation.
123 sched_getaffinity Partial Support Stub implementation.
124 sched_yield Full Support Fully Supported.
125 sched_get_priority_max Partial Support Stub implementation.
126 sched_get_priority_min Partial Support Stub implementation.
127 sched_rr_get_interval Unimplemented Returns "operation not permitted".
128 restart_syscall Full Support Fully Supported.
129 kill Full Support Fully Supported.
130 tkill Full Support Fully Supported.
131 tgkill Full Support Fully Supported.
132 sigaltstack Full Support Fully Supported.
133 rt_sigsuspend Full Support Fully Supported.
134 rt_sigaction Full Support Fully Supported.
135 rt_sigprocmask Full Support Fully Supported.
136 rt_sigpending Full Support Fully Supported.
137 rt_sigtimedwait Full Support Fully Supported.
138 rt_sigqueueinfo Full Support Fully Supported.
139 rt_sigreturn Full Support Fully Supported.
140 setpriority Partial Support Stub implementation.
141 getpriority Partial Support Stub implementation.
142 reboot Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_BOOT; "invalid system call number" otherwise.
143 setregid Full Support Fully Supported.
144 setgid Full Support Fully Supported.
145 setreuid Full Support Fully Supported.
146 setuid Full Support Fully Supported.
147 setresuid Full Support Fully Supported.
148 getresuid Full Support Fully Supported.
149 setresgid Full Support Fully Supported.
150 getresgid Full Support Fully Supported.
151 setfsuid Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/260
152 setfsgid Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/260
153 times Full Support Fully Supported.
154 setpgid Full Support Fully Supported.
155 getpgid Full Support Fully Supported.
156 getsid Full Support Fully Supported.
157 setsid Full Support Fully Supported.
158 getgroups Full Support Fully Supported.
159 setgroups Full Support Fully Supported.
160 uname Full Support Fully Supported.
161 sethostname Full Support Fully Supported.
162 setdomainname Full Support Fully Supported.
163 getrlimit Full Support Fully Supported.
164 setrlimit Partial Support Not all rlimits are enforced.
165 getrusage Partial Support Fields ru_maxrss, ru_minflt, ru_majflt, ru_inblock, ru_oublock are not supported. Fields ru_utime and ru_stime have low precision.
166 umask Full Support Fully Supported.
167 prctl Partial Support Not all options are supported.
168 getcpu Full Support Fully Supported.
169 gettimeofday Full Support Fully Supported.
170 settimeofday Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
171 adjtimex Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
172 getpid Full Support Fully Supported.
173 getppid Full Support Fully Supported.
174 getuid Full Support Fully Supported.
175 geteuid Full Support Fully Supported.
176 getgid Full Support Fully Supported.
177 getegid Full Support Fully Supported.
178 gettid Full Support Fully Supported.
179 sysinfo Partial Support Fields loads, sharedram, bufferram, totalswap, freeswap, totalhigh, freehigh not supported.
180 mq_open Full Support Fully Supported.
182 mq_timedsend Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/136
183 mq_timedreceive Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/136
184 mq_notify Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/136
185 mq_getsetattr Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/136
186 msgget Full Support Fully Supported.
187 msgctl Full Support Fully Supported.
188 msgrcv Full Support Fully Supported.
189 msgsnd Full Support Fully Supported.
190 semget Full Support Fully Supported.
191 semctl Full Support Fully Supported.
192 semtimedop Full Support Fully Supported.
193 semop Partial Support Option SEM_UNDO not supported.
194 shmget Partial Support Option SHM_HUGETLB is not supported.
195 shmctl Partial Support Options SHM_LOCK, SHM_UNLOCK are not supported.
196 shmat Partial Support Option SHM_RND is not supported.
197 shmdt Full Support Fully Supported.
198 socket Full Support Fully Supported.
199 socketpair Full Support Fully Supported.
200 bind Full Support Fully Supported.
201 listen Full Support Fully Supported.
202 accept Full Support Fully Supported.
203 connect Full Support Fully Supported.
204 getsockname Full Support Fully Supported.
205 getpeername Full Support Fully Supported.
206 sendto Full Support Fully Supported.
207 recvfrom Full Support Fully Supported.
208 setsockopt Full Support Fully Supported.
209 getsockopt Full Support Fully Supported.
210 shutdown Full Support Fully Supported.
211 sendmsg Full Support Fully Supported.
212 recvmsg Full Support Fully Supported.
213 readahead Full Support Fully Supported.
214 brk Full Support Fully Supported.
215 munmap Full Support Fully Supported.
216 mremap Full Support Fully Supported.
217 add_key Unimplemented Not available to user.; Returns "permission denied".
218 request_key Unimplemented Not available to user.; Returns "permission denied".
219 keyctl Partial Support Only supports session keyrings with zero keys in them.
220 clone Partial Support Options CLONE_PIDFD, CLONE_NEWCGROUP, CLONE_PARENT, CLONE_NEWTIME, CLONE_CLEAR_SIGHAND, and CLONE_SYSVSEM not supported.
221 execve Full Support Fully Supported.
222 mmap Full Support Fully Supported.
223 fadvise64 Partial Support Not all options are supported.
224 swapon Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
225 swapoff Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
226 mprotect Full Support Fully Supported.
227 msync Partial Support Full data flush is not guaranteed at this time.
228 mlock Partial Support Stub implementation. The sandbox lacks appropriate permissions.
229 munlock Partial Support Stub implementation. The sandbox lacks appropriate permissions.
230 mlockall Partial Support Stub implementation. The sandbox lacks appropriate permissions.
231 munlockall Partial Support Stub implementation. The sandbox lacks appropriate permissions.
232 mincore Partial Support Stub implementation. The sandbox does not have access to this information. Reports all mapped pages are resident.
233 madvise Partial Support Options MADV_DONTNEED, MADV_DONTFORK are supported. Other advice is ignored.
234 remap_file_pages Unimplemented Deprecated since Linux 3.16.; Returns "invalid system call number".
235 mbind Partial Support Stub implementation. Only a single NUMA node is advertised, and mempolicy is ignored accordingly, but mbind() will succeed and has effects reflected by get_mempolicy.
See: https://gvisor.dev/issue/262
236 get_mempolicy Partial Support Stub implementation.
237 set_mempolicy Partial Support Stub implementation.
238 migrate_pages Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
239 move_pages Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
240 rt_tgsigqueueinfo Full Support Fully Supported.
241 perf_event_open Unimplemented No support for perf counters; Returns "no such device".
242 accept4 Full Support Fully Supported.
243 recvmmsg Full Support Fully Supported.
260 wait4 Full Support Fully Supported.
261 prlimit64 Full Support Fully Supported.
262 fanotify_init Unimplemented Needs CONFIG_FANOTIFY; Returns "invalid system call number".
263 fanotify_mark Unimplemented Needs CONFIG_FANOTIFY; Returns "invalid system call number".
264 name_to_handle_at Unimplemented Not supported by gVisor filesystems; Returns "operation not supported on transport endpoint".
265 open_by_handle_at Unimplemented Not supported by gVisor filesystems; Returns "operation not supported on transport endpoint".
266 clock_adjtime Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
267 syncfs Full Support Fully Supported.
268 setns Full Support Fully Supported.
269 sendmmsg Full Support Fully Supported.
270 process_vm_readv Full Support Fully Supported.
271 process_vm_writev Full Support Fully Supported.
272 kcmp Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_PTRACE; "invalid system call number" otherwise.
273 finit_module Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
274 sched_setattr Unimplemented gVisor does not implement a scheduler.; Returns "invalid system call number".
See: https://gvisor.dev/issue/264
275 sched_getattr Unimplemented gVisor does not implement a scheduler.; Returns "invalid system call number".
See: https://gvisor.dev/issue/264
276 renameat2 Full Support Fully Supported.
277 seccomp Full Support Fully Supported.
278 getrandom Full Support Fully Supported.
279 memfd_create Full Support Fully Supported.
280 bpf Unimplemented Returns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
281 execveat Full Support Fully Supported.
282 userfaultfd Unimplemented Returns "invalid system call number".
See: https://gvisor.dev/issue/266
283 membarrier Partial Support Not supported on all platforms.
284 mlock2 Partial Support Stub implementation. The sandbox lacks appropriate permissions.
285 copy_file_range Unimplemented Returns "invalid system call number".
286 preadv2 Full Support Fully Supported.
287 pwritev2 Full Support Fully Supported.
288 pkey_mprotect Unimplemented Returns "invalid system call number".
289 pkey_alloc Unimplemented Returns "invalid system call number".
290 pkey_free Unimplemented Returns "invalid system call number".
291 statx Full Support Fully Supported.
292 io_pgetevents Unimplemented Returns "invalid system call number".
293 rseq Partial Support Not supported on all platforms.
424 pidfd_send_signal Unimplemented Returns "invalid system call number".
425 io_uring_setup Partial Support Not all flags and functionality supported.
426 io_uring_enter Partial Support Not all flags and functionality supported.
427 io_uring_register Unimplemented Returns "invalid system call number".
428 open_tree Unimplemented Returns "invalid system call number".
429 move_mount Unimplemented Returns "invalid system call number".
430 fsopen Unimplemented Returns "invalid system call number".
431 fsconfig Unimplemented Returns "invalid system call number".
432 fsmount Unimplemented Returns "invalid system call number".
433 fspick Unimplemented Returns "invalid system call number".
434 pidfd_open Unimplemented Returns "invalid system call number".
435 clone3 Partial Support Options CLONE_PIDFD, CLONE_NEWCGROUP, CLONE_INTO_CGROUP, CLONE_NEWTIME, CLONE_CLEAR_SIGHAND, CLONE_PARENT, CLONE_SYSVSEM and clone_args.set_tid are not supported.
436 close_range Full Support Fully Supported.
439 faccessat2 Full Support Fully Supported.
441 epoll_pwait2 Full Support Fully Supported.