Linux/amd64

This table is a reference of linux syscalls for the amd64 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 350 syscalls, 274 syscalls have a full or partial implementation. There are currently 76 unsupported syscalls.

#NameSupportNotes
0readFull SupportFully Supported.
1writeFull SupportFully Supported.
2openFull SupportFully Supported.
3closeFull SupportFully Supported.
4statFull SupportFully Supported.
5fstatFull SupportFully Supported.
6lstatFull SupportFully Supported.
7pollFull SupportFully Supported.
8lseekFull SupportFully Supported.
9mmapFull SupportFully Supported.
10mprotectFull SupportFully Supported.
11munmapFull SupportFully Supported.
12brkFull SupportFully Supported.
13rt_sigactionFull SupportFully Supported.
14rt_sigprocmaskFull SupportFully Supported.
15rt_sigreturnFull SupportFully Supported.
16ioctlFull SupportFully Supported.
17pread64Full SupportFully Supported.
18pwrite64Full SupportFully Supported.
19readvFull SupportFully Supported.
20writevFull SupportFully Supported.
21accessFull SupportFully Supported.
22pipeFull SupportFully Supported.
23selectFull SupportFully Supported.
24sched_yieldFull SupportFully Supported.
25mremapFull SupportFully Supported.
26msyncPartial SupportFull data flush is not guaranteed at this time.
27mincorePartial SupportStub implementation. The sandbox does not have access to this information. Reports all mapped pages are resident.
28madvisePartial SupportOptions MADV_DONTNEED, MADV_DONTFORK are supported. Other advice is ignored.
29shmgetPartial SupportOption SHM_HUGETLB is not supported.
30shmatPartial SupportOption SHM_RND is not supported.
31shmctlPartial SupportOptions SHM_LOCK, SHM_UNLOCK are not supported.
32dupFull SupportFully Supported.
33dup2Full SupportFully Supported.
34pauseFull SupportFully Supported.
35nanosleepFull SupportFully Supported.
36getitimerFull SupportFully Supported.
37alarmFull SupportFully Supported.
38setitimerFull SupportFully Supported.
39getpidFull SupportFully Supported.
40sendfileFull SupportFully Supported.
41socketFull SupportFully Supported.
42connectFull SupportFully Supported.
43acceptFull SupportFully Supported.
44sendtoFull SupportFully Supported.
45recvfromFull SupportFully Supported.
46sendmsgFull SupportFully Supported.
47recvmsgFull SupportFully Supported.
48shutdownFull SupportFully Supported.
49bindFull SupportFully Supported.
50listenFull SupportFully Supported.
51getsocknameFull SupportFully Supported.
52getpeernameFull SupportFully Supported.
53socketpairFull SupportFully Supported.
54setsockoptFull SupportFully Supported.
55getsockoptFull SupportFully Supported.
56clonePartial SupportOptions CLONE_PIDFD, CLONE_NEWCGROUP, CLONE_PARENT, CLONE_NEWTIME, CLONE_CLEAR_SIGHAND, and CLONE_SYSVSEM not supported.
57forkFull SupportFully Supported.
58vforkFull SupportFully Supported.
59execveFull SupportFully Supported.
60exitFull SupportFully Supported.
61wait4Full SupportFully Supported.
62killFull SupportFully Supported.
63unameFull SupportFully Supported.
64semgetFull SupportFully Supported.
65semopPartial SupportOption SEM_UNDO not supported.
66semctlFull SupportFully Supported.
67shmdtFull SupportFully Supported.
68msggetFull SupportFully Supported.
69msgsndFull SupportFully Supported.
70msgrcvFull SupportFully Supported.
71msgctlFull SupportFully Supported.
72fcntlFull SupportFully Supported.
73flockFull SupportFully Supported.
74fsyncFull SupportFully Supported.
75fdatasyncFull SupportFully Supported.
76truncateFull SupportFully Supported.
77ftruncateFull SupportFully Supported.
78getdentsFull SupportFully Supported.
79getcwdFull SupportFully Supported.
80chdirFull SupportFully Supported.
81fchdirFull SupportFully Supported.
82renameFull SupportFully Supported.
83mkdirFull SupportFully Supported.
84rmdirFull SupportFully Supported.
85creatFull SupportFully Supported.
90chmodFull SupportFully Supported.
91fchmodFull SupportFully Supported.
92chownFull SupportFully Supported.
93fchownFull SupportFully Supported.
94lchownFull SupportFully Supported.
95umaskFull SupportFully Supported.
96gettimeofdayFull SupportFully Supported.
97getrlimitFull SupportFully Supported.
98getrusagePartial SupportFields ru_maxrss, ru_minflt, ru_majflt, ru_inblock, ru_oublock are not supported. Fields ru_utime and ru_stime have low precision.
99sysinfoPartial SupportFields loads, sharedram, bufferram, totalswap, freeswap, totalhigh, freehigh not supported.
100timesFull SupportFully Supported.
101ptracePartial SupportOptions PTRACE_PEEKSIGINFO, PTRACE_SECCOMP_GET_FILTER not supported.
102getuidFull SupportFully Supported.
103syslogPartial SupportOutputs a dummy message for security reasons.
104getgidFull SupportFully Supported.
105setuidFull SupportFully Supported.
106setgidFull SupportFully Supported.
107geteuidFull SupportFully Supported.
108getegidFull SupportFully Supported.
109setpgidFull SupportFully Supported.
110getppidFull SupportFully Supported.
111getpgrpFull SupportFully Supported.
112setsidFull SupportFully Supported.
113setreuidFull SupportFully Supported.
114setregidFull SupportFully Supported.
115getgroupsFull SupportFully Supported.
116setgroupsFull SupportFully Supported.
117setresuidFull SupportFully Supported.
118getresuidFull SupportFully Supported.
119setresgidFull SupportFully Supported.
120getresgidFull SupportFully Supported.
121getpgidFull SupportFully Supported.
122setfsuidUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/260
123setfsgidUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/260
124getsidFull SupportFully Supported.
125capgetFull SupportFully Supported.
126capsetFull SupportFully Supported.
127rt_sigpendingFull SupportFully Supported.
128rt_sigtimedwaitFull SupportFully Supported.
129rt_sigqueueinfoFull SupportFully Supported.
130rt_sigsuspendFull SupportFully Supported.
131sigaltstackFull SupportFully Supported.
132utimeFull SupportFully Supported.
133mknodFull SupportFully Supported.
134uselibUnimplementedObsolete; Returns "invalid system call number".
135personalityUnimplementedUnable to change personality.; Returns "invalid argument".
136ustatUnimplementedNeeds filesystem support.; Returns "invalid system call number".
137statfsFull SupportFully Supported.
138fstatfsFull SupportFully Supported.
139sysfsUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/165
140getpriorityPartial SupportStub implementation.
141setpriorityPartial SupportStub implementation.
142sched_setparamUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
143sched_getparamPartial SupportStub implementation.
144sched_setschedulerPartial SupportStub implementation.
145sched_getschedulerPartial SupportStub implementation.
146sched_get_priority_maxPartial SupportStub implementation.
147sched_get_priority_minPartial SupportStub implementation.
148sched_rr_get_intervalUnimplementedReturns "operation not permitted".
149mlockPartial SupportStub implementation. The sandbox lacks appropriate permissions.
150munlockPartial SupportStub implementation. The sandbox lacks appropriate permissions.
151mlockallPartial SupportStub implementation. The sandbox lacks appropriate permissions.
152munlockallPartial SupportStub implementation. The sandbox lacks appropriate permissions.
153vhangupUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_TTY_CONFIG; "invalid system call number" otherwise.
154modify_ldtUnimplementedReturns "operation not permitted".
155pivot_rootFull SupportFully Supported.
156sysctlUnimplementedDeprecated. Use /proc/sys instead.; Returns "operation not permitted".
157prctlPartial SupportNot all options are supported.
158arch_prctlPartial SupportOptions ARCH_GET_GS, ARCH_SET_GS not supported.
159adjtimexUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
160setrlimitPartial SupportNot all rlimits are enforced.
161chrootFull SupportFully Supported.
162syncFull SupportFully Supported.
163acctUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_PACCT; "invalid system call number" otherwise.
164settimeofdayUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
165mountFull SupportFully Supported.
166umount2Full SupportFully Supported.
167swaponUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
168swapoffUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
169rebootUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_BOOT; "invalid system call number" otherwise.
170sethostnameFull SupportFully Supported.
171setdomainnameFull SupportFully Supported.
172ioplUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_RAWIO; "invalid system call number" otherwise.
173iopermUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_RAWIO; "invalid system call number" otherwise.
174create_moduleUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
175init_moduleUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
176delete_moduleUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
177get_kernel_symsUnimplementedNot supported in Linux > 2.6.; Returns "invalid system call number".
178query_moduleUnimplementedNot supported in Linux > 2.6.; Returns "invalid system call number".
179quotactlUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
180nfsservctlUnimplementedRemoved after Linux 3.1.; Returns "invalid system call number".
181getpmsgUnimplementedNot implemented in Linux.; Returns "invalid system call number".
182putpmsgUnimplementedNot implemented in Linux.; Returns "invalid system call number".
183afs_syscallPartial SupportTest implementation.
184tuxcallUnimplementedNot implemented in Linux.; Returns "invalid system call number".
185securityUnimplementedNot implemented in Linux.; Returns "invalid system call number".
186gettidFull SupportFully Supported.
187readaheadFull SupportFully Supported.
188setxattrFull SupportFully Supported.
189lsetxattrFull SupportFully Supported.
190fsetxattrFull SupportFully Supported.
191getxattrFull SupportFully Supported.
192lgetxattrFull SupportFully Supported.
193fgetxattrFull SupportFully Supported.
194listxattrFull SupportFully Supported.
195llistxattrFull SupportFully Supported.
196flistxattrFull SupportFully Supported.
197removexattrFull SupportFully Supported.
198lremovexattrFull SupportFully Supported.
199fremovexattrFull SupportFully Supported.
200tkillFull SupportFully Supported.
201timeFull SupportFully Supported.
202futexPartial SupportRobust futexes not supported.
203sched_setaffinityPartial SupportStub implementation.
204sched_getaffinityPartial SupportStub implementation.
205set_thread_areaUnimplementedExpected to return ENOSYS on 64-bit; Returns "invalid system call number".
206io_setupPartial SupportGenerally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
207io_destroyPartial SupportGenerally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
208io_geteventsPartial SupportGenerally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
209io_submitPartial SupportGenerally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
210io_cancelPartial SupportGenerally supported with exceptions. User ring optimizations are not implemented.
See: https://gvisor.dev/issue/204
211get_thread_areaUnimplementedExpected to return ENOSYS on 64-bit; Returns "invalid system call number".
212lookup_dcookieUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
213epoll_createFull SupportFully Supported.
214epoll_ctl_oldUnimplementedDeprecated.; Returns "invalid system call number".
215epoll_wait_oldUnimplementedDeprecated.; Returns "invalid system call number".
216remap_file_pagesUnimplementedDeprecated since Linux 3.16.; Returns "invalid system call number".
217getdents64Full SupportFully Supported.
218set_tid_addressFull SupportFully Supported.
219restart_syscallFull SupportFully Supported.
220semtimedopFull SupportFully Supported.
221fadvise64Partial SupportThe syscall is 'supported', but ignores all provided advice.
222timer_createFull SupportFully Supported.
223timer_settimeFull SupportFully Supported.
224timer_gettimeFull SupportFully Supported.
225timer_getoverrunFull SupportFully Supported.
226timer_deleteFull SupportFully Supported.
227clock_settimeFull SupportFully Supported.
228clock_gettimeFull SupportFully Supported.
229clock_getresFull SupportFully Supported.
230clock_nanosleepFull SupportFully Supported.
231exit_groupFull SupportFully Supported.
232epoll_waitFull SupportFully Supported.
233epoll_ctlFull SupportFully Supported.
234tgkillFull SupportFully Supported.
235utimesFull SupportFully Supported.
236vserverUnimplementedNot implemented by Linux; Returns "invalid system call number".
237mbindPartial SupportStub 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
238set_mempolicyPartial SupportStub implementation.
239get_mempolicyPartial SupportStub implementation.
240mq_openFull SupportFully Supported.
242mq_timedsendUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/136
243mq_timedreceiveUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/136
244mq_notifyUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/136
245mq_getsetattrUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/136
246kexec_loadUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_BOOT; "invalid system call number" otherwise.
247waitidFull SupportFully Supported.
248add_keyUnimplementedNot available to user.; Returns "permission denied".
249request_keyUnimplementedNot available to user.; Returns "permission denied".
250keyctlPartial SupportOnly supports session keyrings with zero keys in them.
251ioprio_setUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
252ioprio_getUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
253inotify_initPartial Supportinotify events are only available inside the sandbox.
254inotify_add_watchPartial Supportinotify events are only available inside the sandbox.
255inotify_rm_watchPartial Supportinotify events are only available inside the sandbox.
256migrate_pagesUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
257openatFull SupportFully Supported.
258mkdiratFull SupportFully Supported.
259mknodatFull SupportFully Supported.
260fchownatFull SupportFully Supported.
261futimesatFull SupportFully Supported.
262newfstatatFull SupportFully Supported.
263unlinkatFull SupportFully Supported.
264renameatFull SupportFully Supported.
265linkatFull SupportFully Supported.
266symlinkatFull SupportFully Supported.
267readlinkatFull SupportFully Supported.
268fchmodatFull SupportFully Supported.
269faccessatFull SupportFully Supported.
270pselect6Full SupportFully Supported.
271ppollFull SupportFully Supported.
272unsharePartial SupportTime, cgroup namespaces not supported.
273set_robust_listFull SupportFully Supported.
274get_robust_listFull SupportFully Supported.
275spliceFull SupportFully Supported.
276teeFull SupportFully Supported.
277sync_file_rangeFull SupportFully Supported.
278vmspliceUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/138
279move_pagesUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_NICE; "invalid system call number" otherwise.
280utimensatFull SupportFully Supported.
281epoll_pwaitFull SupportFully Supported.
282signalfdFull SupportFully Supported.
283timerfd_createFull SupportFully Supported.
284eventfdFull SupportFully Supported.
285fallocatePartial SupportNot all options are supported.
286timerfd_settimeFull SupportFully Supported.
287timerfd_gettimeFull SupportFully Supported.
288accept4Full SupportFully Supported.
289signalfd4Full SupportFully Supported.
290eventfd2Full SupportFully Supported.
291epoll_create1Full SupportFully Supported.
292dup3Full SupportFully Supported.
293pipe2Full SupportFully Supported.
294inotify_init1Partial Supportinotify events are only available inside the sandbox.
295preadvFull SupportFully Supported.
296pwritevFull SupportFully Supported.
297rt_tgsigqueueinfoFull SupportFully Supported.
298perf_event_openUnimplementedNo support for perf counters; Returns "no such device".
299recvmmsgFull SupportFully Supported.
300fanotify_initUnimplementedNeeds CONFIG_FANOTIFY; Returns "invalid system call number".
301fanotify_markUnimplementedNeeds CONFIG_FANOTIFY; Returns "invalid system call number".
302prlimit64Full SupportFully Supported.
303name_to_handle_atUnimplementedNot supported by gVisor filesystems; Returns "operation not supported on transport endpoint".
304open_by_handle_atUnimplementedNot supported by gVisor filesystems; Returns "operation not supported on transport endpoint".
305clock_adjtimeUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_TIME; "invalid system call number" otherwise.
306syncfsFull SupportFully Supported.
307sendmmsgFull SupportFully Supported.
308setnsFull SupportFully Supported.
309getcpuFull SupportFully Supported.
310process_vm_readvFull SupportFully Supported.
311process_vm_writevFull SupportFully Supported.
312kcmpUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_PTRACE; "invalid system call number" otherwise.
313finit_moduleUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_MODULE; "invalid system call number" otherwise.
314sched_setattrUnimplementedgVisor does not implement a scheduler.; Returns "invalid system call number".
See: https://gvisor.dev/issue/264
315sched_getattrUnimplementedgVisor does not implement a scheduler.; Returns "invalid system call number".
See: https://gvisor.dev/issue/264
316renameat2Full SupportFully Supported.
317seccompFull SupportFully Supported.
318getrandomFull SupportFully Supported.
319memfd_createFull SupportFully Supported.
320kexec_file_loadUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_BOOT; "invalid system call number" otherwise.
321bpfUnimplementedReturns "operation not permitted" if the process does not have CAP_SYS_ADMIN; "invalid system call number" otherwise.
322execveatFull SupportFully Supported.
323userfaultfdUnimplementedReturns "invalid system call number".
See: https://gvisor.dev/issue/266
324membarrierPartial SupportNot supported on all platforms.
325mlock2Partial SupportStub implementation. The sandbox lacks appropriate permissions.
326copy_file_rangeUnimplementedReturns "invalid system call number".
327preadv2Full SupportFully Supported.
328pwritev2Full SupportFully Supported.
329pkey_mprotectUnimplementedReturns "invalid system call number".
330pkey_allocUnimplementedReturns "invalid system call number".
331pkey_freeUnimplementedReturns "invalid system call number".
332statxFull SupportFully Supported.
333io_pgeteventsUnimplementedReturns "invalid system call number".
334rseqPartial SupportNot supported on all platforms.
424pidfd_send_signalUnimplementedReturns "invalid system call number".
425io_uring_setupPartial SupportNot all flags and functionality supported.
426io_uring_enterPartial SupportNot all flags and functionality supported.
427io_uring_registerUnimplementedReturns "invalid system call number".
428open_treeUnimplementedReturns "invalid system call number".
429move_mountUnimplementedReturns "invalid system call number".
430fsopenUnimplementedReturns "invalid system call number".
431fsconfigUnimplementedReturns "invalid system call number".
432fsmountUnimplementedReturns "invalid system call number".
433fspickUnimplementedReturns "invalid system call number".
434pidfd_openUnimplementedReturns "invalid system call number".
435clone3Partial SupportOptions CLONE_PIDFD, CLONE_NEWCGROUP, CLONE_INTO_CGROUP, CLONE_NEWTIME, CLONE_CLEAR_SIGHAND, CLONE_PARENT, CLONE_SYSVSEM and, SetTid are not supported.
436close_rangeFull SupportFully Supported.
439faccessat2Full SupportFully Supported.
441epoll_pwait2Full SupportFully Supported.
close