Skip to content

Instantly share code, notes, and snippets.

@mjf
Last active August 29, 2015 14:25
Show Gist options
  • Save mjf/167200c9e4dd438ad8d1 to your computer and use it in GitHub Desktop.
Save mjf/167200c9e4dd438ad8d1 to your computer and use it in GitHub Desktop.
Linux Syscall Table (semi-handcrafted)
#! /usr/bin/env stl
. Linux Syscall Table (semi-handcrafted)
. Copyright (C) 2015 Matous Jan Fialka, <http://mjf.cz/>
. Released under the terms of The MIT License
.meta linux version: 4.1.x
.meta source 1: arch/x86/syscalls/syscall_64.tbl
.meta source 2: arch/x86/syscalls/syscall_32.tbl
.set table type: ascii-art
.table
%rax arch/common arch/64 arch/x32 arch/i386
---- ---------------------- ---------------------- ---------------------- ----------------------
0 read read read restart_syscall
1 write write write exit
2 open open open fork
3 close close close read
4 stat stat stat write
5 fstat fstat fstat open
6 lstat lstat lstat close
7 poll poll poll waitpid
8 lseek lseek lseek creat
9 mmap mmap mmap link
10 mprotect mprotect mprotect unlink
11 munmap munmap munmap execve
12 brk brk brk chdir
13 - rt_sigaction - time
14 rt_sigprocmask rt_sigprocmask rt_sigprocmask mknod
15 - rt_sigreturn - chmod
16 - ioctl - lchown
17 pread64 pread64 pread64 break
18 pwrite64 pwrite64 pwrite64 oldstat
19 - readv - lseek
20 - writev - getpid
21 access access access mount
22 pipe pipe pipe umount
23 select select select setuid
24 sched_yield sched_yield sched_yield getuid
25 mremap mremap mremap stime
26 msync msync msync ptrace
27 mincore mincore mincore alarm
28 madvise madvise madvise oldfstat
29 shmget shmget shmget pause
30 shmat shmat shmat utime
31 shmctl shmctl shmctl stty
32 dup dup dup gtty
33 dup2 dup2 dup2 access
34 pause pause pause nice
35 nanosleep nanosleep nanosleep ftime
36 getitimer getitimer getitimer sync
37 alarm alarm alarm kill
38 setitimer setitimer setitimer rename
39 getpid getpid getpid mkdir
40 sendfile sendfile sendfile rmdir
41 socket socket socket dup
42 connect connect connect pipe
43 accept accept accept times
44 sendto sendto sendto prof
45 - recvfrom - brk
46 - sendmsg - setgid
47 - recvmsg - getgid
48 shutdown shutdown shutdown signal
49 bind bind bind geteuid
50 listen listen listen getegid
51 getsockname getsockname getsockname acct
52 getpeername getpeername getpeername umount2
53 socketpair socketpair socketpair lock
54 - setsockopt - ioctl
55 - getsockopt - fcntl
56 clone clone clone mpx
57 fork fork fork setpgid
58 vfork vfork vfork ulimit
59 - execve - oldolduname
60 exit exit exit umask
61 wait4 wait4 wait4 chroot
62 kill kill kill ustat
63 uname uname uname dup2
64 semget semget semget getppid
65 semop semop semop getpgrp
66 semctl semctl semctl setsid
67 shmdt shmdt shmdt sigaction
68 msgget msgget msgget sgetmask
69 msgsnd msgsnd msgsnd ssetmask
70 msgrcv msgrcv msgrcv setreuid
71 msgctl msgctl msgctl setregid
72 fcntl fcntl fcntl sigsuspend
73 flock flock flock sigpending
74 fsync fsync fsync sethostname
75 fdatasync fdatasync fdatasync setrlimit
76 truncate truncate truncate getrlimit
77 ftruncate ftruncate ftruncate getrusage
78 getdents getdents getdents gettimeofday
79 getcwd getcwd getcwd settimeofday
80 chdir chdir chdir getgroups
81 fchdir fchdir fchdir setgroups
82 rename rename rename select
83 mkdir mkdir mkdir symlink
84 rmdir rmdir rmdir oldlstat
85 creat creat creat readlink
86 link link link uselib
87 unlink unlink unlink swapon
88 symlink symlink symlink reboot
89 readlink readlink readlink readdir
90 chmod chmod chmod mmap
91 fchmod fchmod fchmod munmap
92 chown chown chown truncate
93 fchown fchown fchown ftruncate
94 lchown lchown lchown fchmod
95 umask umask umask fchown
96 gettimeofday gettimeofday gettimeofday getpriority
97 getrlimit getrlimit getrlimit setpriority
98 getrusage getrusage getrusage profil
99 sysinfo sysinfo sysinfo statfs
100 times times times fstatfs
101 - ptrace - ioperm
102 getuid getuid getuid socketcall
103 syslog syslog syslog syslog
104 getgid getgid getgid setitimer
105 setuid setuid setuid getitimer
106 setgid setgid setgid stat
107 geteuid geteuid geteuid lstat
108 getegid getegid getegid fstat
109 setpgid setpgid setpgid olduname
110 getppid getppid getppid iopl
111 getpgrp getpgrp getpgrp vhangup
112 setsid setsid setsid idle
113 setreuid setreuid setreuid vm86old
114 setregid setregid setregid wait4
115 getgroups getgroups getgroups swapoff
116 setgroups setgroups setgroups sysinfo
117 setresuid setresuid setresuid ipc
118 getresuid getresuid getresuid fsync
119 setresgid setresgid setresgid sigreturn
120 getresgid getresgid getresgid clone
121 getpgid getpgid getpgid setdomainname
122 setfsuid setfsuid setfsuid uname
123 setfsgid setfsgid setfsgid modify_ldt
124 getsid getsid getsid adjtimex
125 capget capget capget mprotect
126 capset capset capset sigprocmask
127 - rt_sigpending - create_module
128 - rt_sigtimedwait - init_module
129 - rt_sigqueueinfo - delete_module
130 rt_sigsuspend rt_sigsuspend rt_sigsuspend get_kernel_syms
131 - sigaltstack - quotactl
132 utime utime utime getpgid
133 mknod mknod mknod fchdir
134 - uselib - bdflush
135 personality personality personality sysfs
136 ustat ustat ustat personality
137 statfs statfs statfs afs_syscall
138 fstatfs fstatfs fstatfs setfsuid
139 sysfs sysfs sysfs setfsgid
140 getpriority getpriority getpriority _llseek
141 setpriority setpriority setpriority getdents
142 sched_setparam sched_setparam sched_setparam _newselect
143 sched_getparam sched_getparam sched_getparam flock
144 sched_setscheduler sched_setscheduler sched_setscheduler msync
145 sched_getscheduler sched_getscheduler sched_getscheduler readv
146 sched_get_priority_max sched_get_priority_max sched_get_priority_max writev
147 sched_get_priority_min sched_get_priority_min sched_get_priority_min getsid
148 sched_rr_get_interval sched_rr_get_interval sched_rr_get_interval fdatasync
149 mlock mlock mlock _sysctl
150 munlock munlock munlock mlock
151 mlockall mlockall mlockall munlock
152 munlockall munlockall munlockall mlockall
153 vhangup vhangup vhangup munlockall
154 modify_ldt modify_ldt modify_ldt sched_setparam
155 pivot_root pivot_root pivot_root sched_getparam
156 - _sysctl - sched_setscheduler
157 prctl prctl prctl sched_getscheduler
158 arch_prctl arch_prctl arch_prctl sched_yield
159 adjtimex adjtimex adjtimex sched_get_priority_max
160 setrlimit setrlimit setrlimit sched_get_priority_min
161 chroot chroot chroot sched_rr_get_interval
162 sync sync sync nanosleep
163 acct acct acct mremap
164 settimeofday settimeofday settimeofday setresuid
165 mount mount mount getresuid
166 umount2 umount2 umount2 vm86
167 swapon swapon swapon query_module
168 swapoff swapoff swapoff poll
169 reboot reboot reboot nfsservctl
170 sethostname sethostname sethostname setresgid
171 setdomainname setdomainname setdomainname getresgid
172 iopl iopl iopl prctl
173 ioperm ioperm ioperm rt_sigreturn
174 - create_module - rt_sigaction
175 init_module init_module init_module rt_sigprocmask
176 delete_module delete_module delete_module rt_sigpending
177 - get_kernel_syms - rt_sigtimedwait
178 - query_module - rt_sigqueueinfo
179 quotactl quotactl quotactl rt_sigsuspend
180 - nfsservctl - pread64
181 getpmsg getpmsg getpmsg pwrite64
182 putpmsg putpmsg putpmsg chown
183 afs_syscall afs_syscall afs_syscall getcwd
184 tuxcall tuxcall tuxcall capget
185 security security security capset
186 gettid gettid gettid sigaltstack
187 readahead readahead readahead sendfile
188 setxattr setxattr setxattr getpmsg
189 lsetxattr lsetxattr lsetxattr putpmsg
190 fsetxattr fsetxattr fsetxattr vfork
191 getxattr getxattr getxattr ugetrlimit
192 lgetxattr lgetxattr lgetxattr mmap2
193 fgetxattr fgetxattr fgetxattr truncate64
194 listxattr listxattr listxattr ftruncate64
195 llistxattr llistxattr llistxattr stat64
196 flistxattr flistxattr flistxattr lstat64
197 removexattr removexattr removexattr fstat64
198 lremovexattr lremovexattr lremovexattr lchown32
199 fremovexattr fremovexattr fremovexattr getuid32
200 tkill tkill tkill getgid32
201 time time time geteuid32
202 futex futex futex getegid32
203 sched_setaffinity sched_setaffinity sched_setaffinity setreuid32
204 sched_getaffinity sched_getaffinity sched_getaffinity setregid32
205 - set_thread_area - getgroups32
206 - io_setup - setgroups32
207 io_destroy io_destroy io_destroy fchown32
208 io_getevents io_getevents io_getevents setresuid32
209 - io_submit - getresuid32
210 io_cancel io_cancel io_cancel setresgid32
211 - get_thread_area - getresgid32
212 lookup_dcookie lookup_dcookie lookup_dcookie chown32
213 epoll_create epoll_create epoll_create setuid32
214 - epoll_ctl_old - setgid32
215 - epoll_wait_old - setfsuid32
216 remap_file_pages remap_file_pages remap_file_pages setfsgid32
217 getdents64 getdents64 getdents64 pivot_root
218 set_tid_address set_tid_address set_tid_address mincore
219 restart_syscall restart_syscall restart_syscall madvise
220 semtimedop semtimedop semtimedop getdents64
221 fadvise64 fadvise64 fadvise64 fcntl64
222 - timer_create - -
223 timer_settime timer_settime timer_settime -
224 timer_gettime timer_gettime timer_gettime gettid
225 timer_getoverrun timer_getoverrun timer_getoverrun readahead
226 timer_delete timer_delete timer_delete setxattr
227 clock_settime clock_settime clock_settime lsetxattr
228 clock_gettime clock_gettime clock_gettime fsetxattr
229 clock_getres clock_getres clock_getres getxattr
230 clock_nanosleep clock_nanosleep clock_nanosleep lgetxattr
231 exit_group exit_group exit_group fgetxattr
232 epoll_wait epoll_wait epoll_wait listxattr
233 epoll_ctl epoll_ctl epoll_ctl llistxattr
234 tgkill tgkill tgkill flistxattr
235 utimes utimes utimes removexattr
236 - vserver - lremovexattr
237 mbind mbind mbind fremovexattr
238 set_mempolicy set_mempolicy set_mempolicy tkill
239 get_mempolicy get_mempolicy get_mempolicy sendfile64
240 mq_open mq_open mq_open futex
241 mq_unlink mq_unlink mq_unlink sched_setaffinity
242 mq_timedsend mq_timedsend mq_timedsend sched_getaffinity
243 mq_timedreceive mq_timedreceive mq_timedreceive set_thread_area
244 - mq_notify - get_thread_area
245 mq_getsetattr mq_getsetattr mq_getsetattr io_setup
246 - kexec_load - io_destroy
247 - waitid - io_getevents
248 add_key add_key add_key io_submit
249 request_key request_key request_key io_cancel
250 keyctl keyctl keyctl fadvise64
251 ioprio_set ioprio_set ioprio_set -
252 ioprio_get ioprio_get ioprio_get exit_group
253 inotify_init inotify_init inotify_init lookup_dcookie
254 inotify_add_watch inotify_add_watch inotify_add_watch epoll_create
255 inotify_rm_watch inotify_rm_watch inotify_rm_watch epoll_ctl
256 migrate_pages migrate_pages migrate_pages epoll_wait
257 openat openat openat remap_file_pages
258 mkdirat mkdirat mkdirat set_tid_address
259 mknodat mknodat mknodat timer_create
260 fchownat fchownat fchownat timer_settime
261 futimesat futimesat futimesat timer_gettime
262 newfstatat newfstatat newfstatat timer_getoverrun
263 unlinkat unlinkat unlinkat timer_delete
264 renameat renameat renameat clock_settime
265 linkat linkat linkat clock_gettime
266 symlinkat symlinkat symlinkat clock_getres
267 readlinkat readlinkat readlinkat clock_nanosleep
268 fchmodat fchmodat fchmodat statfs64
269 faccessat faccessat faccessat fstatfs64
270 pselect6 pselect6 pselect6 tgkill
271 ppoll ppoll ppoll utimes
272 unshare unshare unshare fadvise64_64
273 - set_robust_list - vserver
274 - get_robust_list - mbind
275 splice splice splice get_mempolicy
276 tee tee tee set_mempolicy
277 sync_file_range sync_file_range sync_file_range mq_open
278 - vmsplice - mq_unlink
279 - move_pages - mq_timedsend
280 utimensat utimensat utimensat mq_timedreceive
281 epoll_pwait epoll_pwait epoll_pwait mq_notify
282 signalfd signalfd signalfd mq_getsetaddr
283 timerfd_create timerfd_create timerfd_create kexec_load
284 eventfd eventfd eventfd waitid
285 fallocate fallocate fallocate -
286 timerfd_settime timerfd_settime timerfd_settime add_key
287 timerfd_gettime timerfd_gettime timerfd_gettime request_key
288 accept4 accept4 accept4 keyctl
289 signalfd4 signalfd4 signalfd4 ioprio_set
290 eventfd2 eventfd2 eventfd2 ioprio_get
291 epoll_create1 epoll_create1 epoll_create1 inotify_init
292 dup3 dup3 dup3 inotify_add_watch
293 pipe2 pipe2 pipe2 inotify_rm_watch
294 inotify_init1 inotify_init1 inotify_init1 migrate_pages
295 - preadv - openat
296 - pwritev - mkdirat
297 - rt_tgsigqueueinfo - mknodat
298 perf_event_open perf_event_open perf_event_open fchownat
299 - recvmmsg - futimesat
300 fanotify_init fanotify_init fanotify_init fstatat64
301 fanotify_mark fanotify_mark fanotify_mark unlinkat
302 prlimit64 prlimit64 prlimit64 renameat
303 name_to_handle_at name_to_handle_at name_to_handle_at linkat
304 open_by_handle_at open_by_handle_at open_by_handle_at symlinkat
305 clock_adjtime clock_adjtime clock_adjtime readlinkat
306 syncfs syncfs syncfs fchmodat
307 - sendmmsg - faccessat
308 setns setns setns pselect6
309 getcpu getcpu getcpu ppoll
310 - process_vm_readv - unshare
311 - process_vm_writev - set_robust_list
312 kcmp kcmp kcmp get_robust_list
313 finit_module finit_module finit_module splice
314 sched_setattr sched_setattr sched_setattr sync_file_range
315 sched_getattr sched_getattr sched_getattr tee
316 renameat2 renameat2 renameat2 vmsplice
317 seccomp seccomp seccomp move_pages
318 getrandom getrandom getrandom getcpu
319 memfd_create memfd_create memfd_create epoll_pwait
320 kexec_file_load kexec_file_load kexec_file_load utimensat
321 bpf bpf bpf signalfd
322 - execveat - timerfd_create
323 - - - eventfd
324 - - - fallocate
325 - - - timerfd_settime
326 - - - timerfd_gettime
327 - - - signalfd4
328 - - - eventfd2
329 - - - epoll_create1
330 - - - dup3
331 - - - pipe2
332 - - - inotify_init1
333 - - - preadv
334 - - - pwritev
335 - - - rt_tgsigqueueinfo
336 - - - perf_event_open
337 - - - recvmmsg
338 - - - fanotify_init
339 - - - fanotify_mark
340 - - - prlimit64
341 - - - name_to_handle_at
342 - - - open_by_handle_at
343 - - - clock_adjtime
344 - - - syncfs
345 - - - sendmmsg
346 - - - setns
347 - - - process_vm_readv
348 - - - process_vm_writev
.restart
%rax arch/common arch/64 arch/x32 arch/i386
---- ---------------------- ---------------------- ---------------------- ----------------------
512 - - rt_sigaction -
513 - - rt_sigreturn -
514 - - ioctl -
515 - - readv -
516 - - writev -
517 - - recvfrom -
518 - - sendmsg -
519 - - recvmsg -
520 - - execve -
521 - - ptrace -
522 - - rt_sigpending -
523 - - rt_sigtimedwait -
524 - - rt_sigqueueinfo -
525 - - sigaltstack -
526 - - timer_create -
527 - - mq_notify -
528 - - kexec_load -
529 - - waitid -
530 - - set_robust_list -
531 - - get_robust_list -
532 - - vmsplice -
533 - - move_pages -
534 - - preadv -
535 - - pwritev -
536 - - rt_tgsigqueueinfo -
537 - - recvmmsg -
538 - - sendmmsg -
539 - - process_vm_readv -
540 - - process_vm_writev -
541 - - setsockopt -
542 - - getsockopt -
543 - - io_setup -
544 - - io_submit -
545 - - execveat -
.end
. vi:ft=stl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment