System call index
CS 273 (OS), Spring 2022
System call locations in linux-5.15.33
Note: Some system calls are defined more than once in the
source code. For example, brk()
is defined in two files,
depending on whether or not virtual memory is supported by a CPU,
and clone()
(a call similar to fork()
for
implementing thread packages) is defined differently depending on
a choice of compiler options during configuration when compiling
the kernel.
accept | net/socket.c:1864 |
accept4 | net/socket.c:1858 |
access | fs/open.c:478 |
acct | kernel/acct.c:273 |
add_key | security/keys/keyctl.c:74 |
adjtimex | kernel/time/time.c:269 |
adjtimex_time32 | kernel/time/time.c:349 |
alarm | kernel/time/itimer.c:306 |
arch_prctl | arch/x86/kernel/process_32.c:224 |
arch_prctl | arch/x86/kernel/process_64.c:842 |
arch_prctl | arch/x86/um/syscalls_32.c:5 |
arch_prctl | arch/x86/um/syscalls_64.c:79 |
bind | net/socket.c:1705 |
bpf | kernel/bpf/syscall.c:4716 |
brk | mm/mmap.c:194 |
brk | mm/nommu.c:381 |
capget | kernel/capability.c:148 |
capset | kernel/capability.c:222 |
chdir | fs/open.c:483 |
chmod | fs/open.c:636 |
chown | fs/open.c:727 |
chown16 | kernel/uid16.c:23 |
chroot | fs/open.c:531 |
clock_adjtime | kernel/time/posix-timers.c:1112 |
clock_adjtime32 | kernel/time/posix-timers.c:1182 |
clock_getres | kernel/time/posix-stubs.c:108 |
clock_getres | kernel/time/posix-timers.c:1129 |
clock_getres_time32 | kernel/time/posix-stubs.c:200 |
clock_getres_time32 | kernel/time/posix-timers.c:1200 |
clock_gettime | kernel/time/posix-stubs.c:93 |
clock_gettime | kernel/time/posix-timers.c:1082 |
clock_gettime32 | kernel/time/posix-stubs.c:185 |
clock_gettime32 | kernel/time/posix-timers.c:1164 |
clock_nanosleep | kernel/time/posix-stubs.c:127 |
clock_nanosleep | kernel/time/posix-timers.c:1245 |
clock_nanosleep_time32 | kernel/time/posix-stubs.c:220 |
clock_nanosleep_time32 | kernel/time/posix-timers.c:1272 |
clock_settime | kernel/time/posix-stubs.c:60 |
clock_settime | kernel/time/posix-timers.c:1067 |
clock_settime32 | kernel/time/posix-stubs.c:172 |
clock_settime32 | kernel/time/posix-timers.c:1149 |
clone | kernel/fork.c:2680 |
clone | kernel/fork.c:2685 |
clone | kernel/fork.c:2690 |
clone | kernel/fork.c:2696 |
clone3 | kernel/fork.c:2854 |
close | fs/open.c:1337 |
close_range | fs/open.c:1362 |
connect | net/socket.c:1923 |
copy_file_range | fs/read_write.c:1532 |
creat | fs/open.c:1296 |
delete_module | kernel/module.c:912 |
dup | fs/file.c:1286 |
dup2 | fs/file.c:1271 |
dup3 | fs/file.c:1266 |
epoll_create | fs/eventpoll.c:2006 |
epoll_create1 | fs/eventpoll.c:2001 |
epoll_ctl | fs/eventpoll.c:2176 |
epoll_pwait | fs/eventpoll.c:2268 |
epoll_pwait2 | fs/eventpoll.c:2279 |
epoll_wait | fs/eventpoll.c:2234 |
eventfd | fs/eventfd.c:454 |
eventfd2 | fs/eventfd.c:449 |
execve | fs/exec.c:2087 |
execveat | fs/exec.c:2095 |
exit | kernel/exit.c:889 |
exit_group | kernel/exit.c:931 |
faccessat | fs/open.c:467 |
faccessat2 | fs/open.c:472 |
fadvise64 | mm/fadvise.c:213 |
fadvise64_64 | mm/fadvise.c:206 |
fallocate | fs/open.c:336 |
fanotify_init | fs/notify/fanotify/fanotify_user.c:1144 |
fanotify_mark | fs/notify/fanotify/fanotify_user.c:1547 |
fchdir | fs/open.c:509 |
fchmod | fs/open.c:600 |
fchmodat | fs/open.c:630 |
fchown | fs/open.c:763 |
fchown16 | kernel/uid16.c:33 |
fchownat | fs/open.c:721 |
fcntl | fs/fcntl.c:457 |
fcntl64 | fs/fcntl.c:481 |
fdatasync | fs/sync.c:235 |
fgetxattr | fs/xattr.c:715 |
finit_module | kernel/module.c:4149 |
flistxattr | fs/xattr.c:792 |
flock | fs/locks.c:2125 |
fork | kernel/fork.c:2651 |
fremovexattr | fs/xattr.c:858 |
fsconfig | fs/fsopen.c:314 |
fsetxattr | fs/xattr.c:621 |
fsmount | fs/namespace.c:3584 |
fsopen | fs/fsopen.c:115 |
fspick | fs/fsopen.c:158 |
fstat | fs/stat.c:316 |
fstat64 | fs/stat.c:546 |
fstatat64 | fs/stat.c:557 |
fstatfs | fs/statfs.c:213 |
fstatfs64 | fs/statfs.c:222 |
fsync | fs/sync.c:230 |
ftruncate | fs/open.c:201 |
ftruncate64 | fs/open.c:220 |
futex | kernel/futex.c:4022 |
futex_time32 | kernel/futex.c:4203 |
futimesat | fs/utimes.c:202 |
futimesat_time32 | fs/utimes.c:287 |
get_mempolicy | mm/mempolicy.c:1633 |
get_robust_list | kernel/futex.c:3584 |
get_thread_area | arch/x86/kernel/tls.c:237 |
get_thread_area | arch/x86/um/tls_32.c:325 |
getcpu | kernel/sys.c:2558 |
getcwd | fs/d_path.c:414 |
getdents | fs/readdir.c:271 |
getdents64 | fs/readdir.c:354 |
getegid | kernel/sys.c:988 |
getegid16 | kernel/uid16.c:218 |
geteuid | kernel/sys.c:976 |
geteuid16 | kernel/uid16.c:208 |
getgid | kernel/sys.c:982 |
getgid16 | kernel/uid16.c:213 |
getgroups | kernel/groups.c:148 |
getgroups16 | kernel/uid16.c:154 |
gethostname | kernel/sys.c:1385 |
getitimer | kernel/time/itimer.c:113 |
getpeername | net/socket.c:1997 |
getpgid | kernel/sys.c:1156 |
getpgrp | kernel/sys.c:1163 |
getpid | kernel/sys.c:932 |
getppid | kernel/sys.c:959 |
getpriority | kernel/sys.c:273 |
getrandom | drivers/char/random.c:2008 |
getresgid | kernel/sys.c:810 |
getresgid16 | kernel/uid16.c:87 |
getresuid | kernel/sys.c:727 |
getresuid16 | kernel/uid16.c:64 |
getrlimit | kernel/sys.c:1436 |
getrusage | kernel/sys.c:1833 |
getsid | kernel/sys.c:1170 |
getsockname | net/socket.c:1961 |
getsockopt | net/socket.c:2235 |
gettid | kernel/sys.c:948 |
gettimeofday | kernel/time/time.c:140 |
getuid | kernel/sys.c:970 |
getuid16 | kernel/uid16.c:203 |
getxattr | fs/xattr.c:703 |
ia32_fadvise64 | arch/x86/kernel/sys_ia32.c:112 |
ia32_fadvise64_64 | arch/x86/kernel/sys_ia32.c:87 |
ia32_fallocate | arch/x86/kernel/sys_ia32.c:119 |
ia32_ftruncate64 | arch/x86/kernel/sys_ia32.c:61 |
ia32_pread64 | arch/x86/kernel/sys_ia32.c:68 |
ia32_pwrite64 | arch/x86/kernel/sys_ia32.c:75 |
ia32_readahead | arch/x86/kernel/sys_ia32.c:97 |
ia32_sync_file_range | arch/x86/kernel/sys_ia32.c:103 |
ia32_truncate64 | arch/x86/kernel/sys_ia32.c:54 |
init_module | kernel/module.c:4129 |
inotify_add_watch | fs/notify/inotify/inotify_user.c:709 |
inotify_init | fs/notify/inotify/inotify_user.c:704 |
inotify_init1 | fs/notify/inotify/inotify_user.c:699 |
inotify_rm_watch | fs/notify/inotify/inotify_user.c:773 |
io_cancel | fs/aio.c:2121 |
io_destroy | fs/aio.c:1381 |
io_getevents | fs/aio.c:2197 |
io_getevents_time32 | fs/aio.c:2295 |
io_pgetevents | fs/aio.c:2222 |
io_pgetevents_time32 | fs/aio.c:2257 |
io_setup | fs/aio.c:1312 |
io_submit | fs/aio.c:2027 |
io_uring_enter | fs/io_uring.c:9996 |
io_uring_register | fs/io_uring.c:10989 |
io_uring_setup | fs/io_uring.c:10452 |
ioctl | fs/ioctl.c:860 |
ioperm | arch/x86/kernel/ioport.c:152 |
ioperm | arch/x86/kernel/ioport.c:206 |
iopl | arch/x86/kernel/ioport.c:173 |
iopl | arch/x86/kernel/ioport.c:211 |
ioprio_get | block/ioprio.c:199 |
ioprio_set | block/ioprio.c:100 |
ipc | ipc/syscall.c:110 |
kcmp | kernel/kcmp.c:135 |
kexec_file_load | kernel/kexec_file.c:354 |
kexec_load | kernel/kexec.c:231 |
keyctl | security/keys/keyctl.c:1869 |
kill | kernel/signal.c:3787 |
landlock_add_rule | security/landlock/syscalls.c:304 |
landlock_create_ruleset | security/landlock/syscalls.c:156 |
landlock_restrict_self | security/landlock/syscalls.c:392 |
lchown | fs/open.c:732 |
lchown16 | kernel/uid16.c:28 |
lgetxattr | fs/xattr.c:709 |
link | fs/namei.c:4481 |
linkat | fs/namei.c:4474 |
listen | net/socket.c:1737 |
listxattr | fs/xattr.c:780 |
llistxattr | fs/xattr.c:786 |
llseek | fs/read_write.c:336 |
lremovexattr | fs/xattr.c:852 |
lseek | fs/read_write.c:322 |
lsetxattr | fs/xattr.c:614 |
lstat | fs/stat.c:303 |
lstat64 | fs/stat.c:534 |
madvise | mm/madvise.c:1226 |
mbind | mm/mempolicy.c:1474 |
membarrier | kernel/sched/membarrier.c:580 |
memfd_create | mm/memfd.c:266 |
memfd_secret | mm/secretmem.c:193 |
migrate_pages | mm/mempolicy.c:1595 |
mincore | mm/mincore.c:230 |
mkdir | fs/namei.c:3929 |
mkdirat | fs/namei.c:3924 |
mknod | fs/namei.c:3845 |
mknodat | fs/namei.c:3839 |
mlock | mm/mlock.c:694 |
mlock2 | mm/mlock.c:699 |
mlockall | mm/mlock.c:775 |
mmap | arch/x86/kernel/sys_x86_64.c:89 |
mmap_pgoff | mm/mmap.c:1631 |
mmap_pgoff | mm/nommu.c:1304 |
modify_ldt | arch/x86/kernel/ldt.c:665 |
modify_ldt | arch/x86/um/ldt.c:373 |
mount | fs/namespace.c:3516 |
mount_setattr | fs/namespace.c:4226 |
move_mount | fs/namespace.c:3713 |
move_pages | mm/migrate.c:2042 |
mprotect | mm/mprotect.c:659 |
mq_getsetattr | ipc/mqueue.c:1485 |
mq_notify | ipc/mqueue.c:1429 |
mq_open | ipc/mqueue.c:930 |
mq_timedreceive | ipc/mqueue.c:1287 |
mq_timedreceive_time32 | ipc/mqueue.c:1630 |
mq_timedsend | ipc/mqueue.c:1273 |
mq_timedsend_time32 | ipc/mqueue.c:1615 |
mq_unlink | ipc/mqueue.c:940 |
mremap | mm/mremap.c:895 |
mremap | mm/nommu.c:1588 |
msgctl | ipc/msg.c:634 |
msgget | ipc/msg.c:314 |
msgrcv | ipc/msg.c:1264 |
msgsnd | ipc/msg.c:965 |
msync | mm/msync.c:32 |
munlock | mm/mlock.c:712 |
munlockall | mm/mlock.c:804 |
munmap | mm/mmap.c:2929 |
munmap | mm/nommu.c:1512 |
name_to_handle_at | fs/fhandle.c:93 |
nanosleep | kernel/time/hrtimer.c:2118 |
nanosleep_time32 | kernel/time/hrtimer.c:2139 |
newfstat | fs/stat.c:419 |
newfstatat | fs/stat.c:406 |
newlstat | fs/stat.c:392 |
newstat | fs/stat.c:381 |
newuname | kernel/sys.c:1290 |
ni_syscall | arch/x86/entry/common.c:250 |
nice | kernel/sched/core.c:6958 |
old_getrlimit | kernel/sys.c:1501 |
old_mmap | mm/mmap.c:1648 |
old_mmap | mm/nommu.c:1321 |
old_msgctl | ipc/msg.c:647 |
old_readdir | fs/readdir.c:180 |
old_select | fs/select.c:829 |
old_semctl | ipc/sem.c:1720 |
old_shmctl | ipc/shm.c:1302 |
oldumount | fs/namespace.c:1789 |
olduname | kernel/sys.c:1331 |
open | fs/open.c:1232 |
open_by_handle_at | fs/fhandle.c:256 |
open_tree | fs/namespace.c:2454 |
openat | fs/open.c:1239 |
openat2 | fs/open.c:1247 |
pause | kernel/signal.c:4587 |
pciconfig_read | drivers/pci/syscall.c:15 |
pciconfig_write | drivers/pci/syscall.c:86 |
perf_event_open | kernel/events/core.c:12077 |
personality | kernel/exec_domain.c:38 |
pidfd_getfd | kernel/pid.c:687 |
pidfd_open | kernel/pid.c:592 |
pidfd_send_signal | kernel/signal.c:3862 |
pipe | fs/pipe.c:1030 |
pipe2 | fs/pipe.c:1025 |
pivot_root | fs/namespace.c:3816 |
pkey_alloc | mm/mprotect.c:673 |
pkey_free | mm/mprotect.c:703 |
pkey_mprotect | mm/mprotect.c:667 |
poll | fs/select.c:1067 |
ppoll | fs/select.c:1100 |
ppoll_time32 | fs/select.c:1126 |
prctl | kernel/sys.c:2282 |
pread64 | fs/read_write.c:682 |
preadv | fs/read_write.c:1047 |
preadv2 | fs/read_write.c:1055 |
prlimit64 | kernel/sys.c:1659 |
process_madvise | mm/madvise.c:1231 |
process_mrelease | mm/oom_kill.c:1143 |
process_vm_readv | mm/process_vm_access.c:291 |
process_vm_writev | mm/process_vm_access.c:298 |
pselect6 | fs/select.c:794 |
pselect6_time32 | fs/select.c:808 |
ptrace | kernel/ptrace.c:1294 |
pwrite64 | fs/read_write.c:708 |
pwritev | fs/read_write.c:1067 |
pwritev2 | fs/read_write.c:1075 |
quotactl | fs/quota/quota.c:915 |
quotactl_fd | fs/quota/quota.c:971 |
read | fs/read_write.c:631 |
readahead | mm/readahead.c:639 |
readlink | fs/stat.c:473 |
readlinkat | fs/stat.c:467 |
readv | fs/read_write.c:1035 |
reboot | kernel/reboot.c:311 |
recv | net/socket.c:2121 |
recvfrom | net/socket.c:2110 |
recvmmsg | net/socket.c:2862 |
recvmmsg_time32 | net/socket.c:2873 |
recvmsg | net/socket.c:2710 |
remap_file_pages | mm/mmap.c:2940 |
removexattr | fs/xattr.c:846 |
rename | fs/namei.c:4823 |
renameat | fs/namei.c:4816 |
renameat2 | fs/namei.c:4809 |
request_key | security/keys/keyctl.c:167 |
restart_syscall | kernel/signal.c:3017 |
rmdir | fs/namei.c:4048 |
rseq | kernel/rseq.c:328 |
rt_sigaction | kernel/signal.c:4394 |
rt_sigpending | kernel/signal.c:3232 |
rt_sigprocmask | kernel/signal.c:3160 |
rt_sigqueueinfo | kernel/signal.c:4012 |
rt_sigreturn | arch/x86/kernel/signal.c:657 |
rt_sigsuspend | kernel/signal.c:4617 |
rt_sigtimedwait | kernel/signal.c:3643 |
rt_sigtimedwait_time32 | kernel/signal.c:3676 |
rt_tgsigqueueinfo | kernel/signal.c:4052 |
sched_get_priority_max | kernel/sched/core.c:8410 |
sched_get_priority_min | kernel/sched/core.c:8437 |
sched_getaffinity | kernel/sched/core.c:8102 |
sched_getattr | kernel/sched/core.c:7875 |
sched_getparam | kernel/sched/core.c:7794 |
sched_getscheduler | kernel/sched/core.c:7765 |
sched_rr_get_interval | kernel/sched/core.c:8502 |
sched_rr_get_interval_time32 | kernel/sched/core.c:8515 |
sched_setaffinity | kernel/sched/core.c:8050 |
sched_setattr | kernel/sched/core.c:7722 |
sched_setparam | kernel/sched/core.c:7711 |
sched_setscheduler | kernel/sched/core.c:7696 |
sched_yield | kernel/sched/core.c:8155 |
seccomp | kernel/seccomp.c:1970 |
select | fs/select.c:725 |
semctl | ipc/sem.c:1707 |
semget | ipc/sem.c:624 |
semop | ipc/sem.c:2300 |
semtimedop | ipc/sem.c:2272 |
semtimedop_time32 | ipc/sem.c:2292 |
send | net/socket.c:2058 |
sendfile | fs/read_write.c:1281 |
sendfile64 | fs/read_write.c:1300 |
sendmmsg | net/socket.c:2578 |
sendmsg | net/socket.c:2502 |
sendto | net/socket.c:2047 |
set_mempolicy | mm/mempolicy.c:1501 |
set_robust_list | kernel/futex.c:3562 |
set_thread_area | arch/x86/kernel/tls.c:185 |
set_thread_area | arch/x86/um/tls_32.c:277 |
set_tid_address | kernel/fork.c:1721 |
setdomainname | kernel/sys.c:1411 |
setfsgid | kernel/sys.c:917 |
setfsgid16 | kernel/uid16.c:109 |
setfsuid | kernel/sys.c:873 |
setfsuid16 | kernel/uid16.c:104 |
setgid | kernel/sys.c:459 |
setgid16 | kernel/uid16.c:43 |
setgroups | kernel/groups.c:185 |
setgroups16 | kernel/uid16.c:177 |
sethostname | kernel/sys.c:1358 |
setitimer | kernel/time/itimer.c:332 |
setns | kernel/nsproxy.c:527 |
setpgid | kernel/sys.c:1057 |
setpriority | kernel/sys.c:203 |
setregid | kernel/sys.c:413 |
setregid16 | kernel/uid16.c:38 |
setresgid | kernel/sys.c:805 |
setresgid16 | kernel/uid16.c:81 |
setresuid | kernel/sys.c:722 |
setresuid16 | kernel/uid16.c:58 |
setreuid | kernel/sys.c:579 |
setreuid16 | kernel/uid16.c:48 |
setrlimit | kernel/sys.c:1706 |
setsid | kernel/sys.c:1242 |
setsockopt | net/socket.c:2187 |
settimeofday | kernel/time/time.c:199 |
setuid | kernel/sys.c:642 |
setuid16 | kernel/uid16.c:53 |
setxattr | fs/xattr.c:607 |
sgetmask | kernel/signal.c:4548 |
shmat | ipc/shm.c:1686 |
shmctl | ipc/shm.c:1289 |
shmdt | ipc/shm.c:1828 |
shmget | ipc/shm.c:840 |
shutdown | net/socket.c:2269 |
sigaction | kernel/signal.c:4466 |
sigaltstack | kernel/signal.c:4211 |
signal | kernel/signal.c:4570 |
signalfd | fs/signalfd.c:313 |
signalfd4 | fs/signalfd.c:301 |
sigpending | kernel/signal.c:4307 |
sigprocmask | kernel/signal.c:4346 |
sigreturn | arch/x86/kernel/signal.c:626 |
sigsuspend | kernel/signal.c:4646 |
sigsuspend | kernel/signal.c:4654 |
socket | net/socket.c:1567 |
socketcall | net/socket.c:2904 |
socketpair | net/socket.c:1668 |
splice | fs/splice.c:1332 |
ssetmask | kernel/signal.c:4554 |
stat | fs/stat.c:290 |
stat64 | fs/stat.c:522 |
statfs | fs/statfs.c:192 |
statfs64 | fs/statfs.c:201 |
statx | fs/stat.c:634 |
stime | kernel/time/time.c:81 |
stime32 | kernel/time/time.c:119 |
swapoff | mm/swapfile.c:2518 |
swapon | mm/swapfile.c:3127 |
symlink | fs/namei.c:4299 |
symlinkat | fs/namei.c:4293 |
sync | fs/sync.c:123 |
sync_file_range | fs/sync.c:382 |
sync_file_range2 | fs/sync.c:390 |
syncfs | fs/sync.c:161 |
sysfs | fs/filesystems.c:191 |
sysinfo | kernel/sys.c:2638 |
syslog | kernel/printk/printk.c:1747 |
tee | fs/splice.c:1698 |
tgkill | kernel/signal.c:3968 |
time | kernel/time/time.c:62 |
time32 | kernel/time/time.c:105 |
timer_create | kernel/time/posix-timers.c:577 |
timer_delete | kernel/time/posix-timers.c:1004 |
timer_getoverrun | kernel/time/posix-timers.c:777 |
timer_gettime | kernel/time/posix-timers.c:738 |
timer_gettime32 | kernel/time/posix-timers.c:753 |
timer_settime | kernel/time/posix-timers.c:938 |
timer_settime32 | kernel/time/posix-timers.c:961 |
timerfd_create | fs/timerfd.c:406 |
timerfd_gettime | fs/timerfd.c:576 |
timerfd_gettime32 | fs/timerfd.c:603 |
timerfd_settime | fs/timerfd.c:558 |
timerfd_settime32 | fs/timerfd.c:586 |
times | kernel/sys.c:1007 |
tkill | kernel/signal.c:3984 |
truncate | fs/open.c:143 |
truncate64 | fs/open.c:215 |
umask | kernel/sys.c:1859 |
umount | fs/namespace.c:1779 |
uname | kernel/sys.c:1311 |
unlink | fs/namei.c:4215 |
unlinkat | fs/namei.c:4205 |
unshare | kernel/fork.c:3160 |
uselib | fs/exec.c:122 |
userfaultfd | fs/userfaultfd.c:2062 |
ustat | fs/statfs.c:248 |
utime | fs/utimes.c:214 |
utime32 | fs/utimes.c:235 |
utimensat | fs/utimes.c:147 |
utimensat_time32 | fs/utimes.c:251 |
utimes | fs/utimes.c:208 |
utimes_time32 | fs/utimes.c:294 |
vfork | kernel/fork.c:2667 |
vhangup | fs/open.c:1372 |
vm86 | arch/x86/kernel/vm86_32.c:178 |
vm86old | arch/x86/kernel/vm86_32.c:172 |
vmsplice | fs/splice.c:1296 |
wait4 | kernel/exit.c:1701 |
waitid | kernel/exit.c:1609 |
waitpid | kernel/exit.c:1720 |
write | fs/read_write.c:656 |
writev | fs/read_write.c:1041 |