User Tools

Site Tools


syscalls

The following shell script will produce the full list of syscalls, the list of syscalls the kernel supports compiling out (from kernel/sys_ni.c), and subtract the two to produce a list of syscalls the kernel does not support compiling out:

check-syscalls
#!/bin/sh
{
    git grep -hE '^(COMPAT_)?SYSCALL_DEFINE' | sed -e 's/SYSCALL_DEFINE[^(]*(\([^,)]*\).*/sys_\1/;s/^COMPAT_/compat_/'
    sed -ne '/^asmlinkage/s/^asmlinkage [^ ]* \(sys[^(]*\).*/\1/p' include/linux/syscalls.h
} | sort -u > syscalls-all
sed -ne '/cond_syscall/s/[^(]*(\([^)]*\).*/\1/p' kernel/sys_ni.c | sort -u > syscalls-optional
grep -Fvxf syscalls-optional syscalls-all > syscalls-non-optional

A snapshot of syscalls-non-optional from a recent kernel (85417aef44fc58b08773117ceb1bc6ca5684e973, during the 3.17 merge window):

syscalls-non-optional
compat_sys_adjtimex
compat_sys_clock_adjtime
compat_sys_clock_getres
compat_sys_clock_gettime
compat_sys_clock_nanosleep
compat_sys_clock_settime
compat_sys_execve
compat_sys_fallocate
compat_sys_fcntl
compat_sys_fcntl64
compat_sys_fstatfs
compat_sys_fstatfs64
compat_sys_ftruncate
compat_sys_ftruncate64
compat_sys_futimesat
compat_sys_getdents
compat_sys_getdents64
compat_sys_getitimer
compat_sys_getrlimit
compat_sys_getrusage
compat_sys_gettimeofday
compat_sys_io_getevents
compat_sys_io_setup
compat_sys_io_submit
compat_sys_ioctl
compat_sys_llseek
compat_sys_lseek
compat_sys_mount
compat_sys_nanosleep
compat_sys_newfstat
compat_sys_newfstatat
compat_sys_newlstat
compat_sys_newstat
compat_sys_old_getrlimit
compat_sys_old_readdir
compat_sys_old_select
compat_sys_open
compat_sys_openat
compat_sys_ppoll
compat_sys_pread64
compat_sys_preadv
compat_sys_preadv64
compat_sys_pselect6
compat_sys_ptrace
compat_sys_pwrite64
compat_sys_pwritev
compat_sys_pwritev64
compat_sys_readv
compat_sys_rt_sigaction
compat_sys_rt_sigpending
compat_sys_rt_sigprocmask
compat_sys_rt_sigqueueinfo
compat_sys_rt_sigreturn
compat_sys_rt_sigsuspend
compat_sys_rt_sigtimedwait
compat_sys_rt_tgsigqueueinfo
compat_sys_s390_chown16
compat_sys_s390_fadvise64
compat_sys_s390_fadvise64_64
compat_sys_s390_fallocate
compat_sys_s390_fchown16
compat_sys_s390_fstat64
compat_sys_s390_fstatat64
compat_sys_s390_ftruncate64
compat_sys_s390_getegid16
compat_sys_s390_geteuid16
compat_sys_s390_getgid16
compat_sys_s390_getgroups16
compat_sys_s390_getresgid16
compat_sys_s390_getresuid16
compat_sys_s390_getuid16
compat_sys_s390_lchown16
compat_sys_s390_lstat64
compat_sys_s390_mmap2
compat_sys_s390_old_mmap
compat_sys_s390_pread64
compat_sys_s390_pwrite64
compat_sys_s390_read
compat_sys_s390_readahead
compat_sys_s390_setfsgid16
compat_sys_s390_setfsuid16
compat_sys_s390_setgid16
compat_sys_s390_setgroups16
compat_sys_s390_setregid16
compat_sys_s390_setresgid16
compat_sys_s390_setresuid16
compat_sys_s390_setreuid16
compat_sys_s390_setuid16
compat_sys_s390_stat64
compat_sys_s390_sync_file_range
compat_sys_s390_truncate64
compat_sys_s390_write
compat_sys_sched_getaffinity
compat_sys_sched_rr_get_interval
compat_sys_sched_setaffinity
compat_sys_select
compat_sys_sendfile
compat_sys_sendfile64
compat_sys_setitimer
compat_sys_setrlimit
compat_sys_settimeofday
compat_sys_sigaction
compat_sys_sigaltstack
compat_sys_sigpending
compat_sys_sigprocmask
compat_sys_sigreturn
compat_sys_sparc_sigaction
compat_sys_statfs
compat_sys_statfs64
compat_sys_stime
compat_sys_sync_file_range2
compat_sys_sysinfo
compat_sys_time
compat_sys_timer_create
compat_sys_timer_gettime
compat_sys_timer_settime
compat_sys_times
compat_sys_truncate
compat_sys_truncate64
compat_sys_ustat
compat_sys_utime
compat_sys_utimensat
compat_sys_utimes
compat_sys_vmsplice
compat_sys_wait4
compat_sys_waitid
compat_sys_writev
sys_32_ftruncate64
sys_32_llseek
sys_32_mmap2
sys_32_personality
sys_32_pread
sys_32_pwrite
sys_32_sigaction
sys_32_truncate64
sys_64_mremap
sys_64_munmap
sys_access
sys_adjtimex
sys_alarm
sys_alpha_pipe
sys_arc_gettls
sys_arc_settls
sys_brk
sys_cachectl
sys_cacheflush
sys_capget
sys_capset
sys_chdir
sys_chmod
sys_chown
sys_chroot
sys_clock_adjtime
sys_clock_getres
sys_clock_gettime
sys_clock_nanosleep
sys_clock_settime
sys_clone
sys_close
sys_cmpxchg_badaddr
sys_creat
sys_dup
sys_dup2
sys_dup3
sys_execve
sys_exit
sys_exit_group
sys_faccessat
sys_fadvise64
sys_fadvise64_64
sys_fallocate
sys_fchdir
sys_fchmod
sys_fchmodat
sys_fchown
sys_fchownat
sys_fcntl
sys_fcntl64
sys_fdatasync
sys_fgetxattr
sys_flistxattr
sys_fork
sys_fremovexattr
sys_fsetxattr
sys_fstat
sys_fstat64
sys_fstatat64
sys_fstatfs
sys_fstatfs64
sys_fsync
sys_ftruncate
sys_ftruncate64
sys_futimesat
sys_get_thread_area
sys_getcpu
sys_getcwd
sys_getdents
sys_getdents64
sys_getdomainname
sys_getdtablesize
sys_getegid
sys_geteuid
sys_getgid
sys_getgroups
sys_gethostname
sys_getitimer
sys_getpagesize
sys_getpgid
sys_getpgrp
sys_getpid
sys_getppid
sys_getpriority
sys_getrandom
sys_getresgid
sys_getresuid
sys_getrlimit
sys_getrusage
sys_getsid
sys_gettid
sys_gettimeofday
sys_getuid
sys_getxattr
sys_getxgid
sys_getxpid
sys_getxuid
sys_ioctl
sys_ioperm
sys_iopl
sys_kill
sys_lchown
sys_lgetxattr
sys_link
sys_linkat
sys_listxattr
sys_llistxattr
sys_llseek
sys_lremovexattr
sys_lseek
sys_lsetxattr
sys_lstat
sys_lstat64
sys_mips_mmap
sys_mips_mmap2
sys_mkdir
sys_mkdirat
sys_mknod
sys_mknodat
sys_mmap
sys_mmap2
sys_mmap_pgoff
sys_mount
sys_munmap
sys_nanosleep
sys_newfstat
sys_newfstatat
sys_newlstat
sys_newstat
sys_newuname
sys_ni_syscall
sys_nice
sys_old_adjtimex
sys_old_getrlimit
sys_old_mmap
sys_old_readdir
sys_old_select
sys_oldumount
sys_olduname
sys_open
sys_openat
sys_osf_brk
sys_osf_fstat
sys_osf_fstatfs
sys_osf_fstatfs64
sys_osf_getdirentries
sys_osf_getdomainname
sys_osf_getitimer
sys_osf_getpriority
sys_osf_getrusage
sys_osf_getsysinfo
sys_osf_gettimeofday
sys_osf_lstat
sys_osf_mmap
sys_osf_mount
sys_osf_proplist_syscall
sys_osf_readv
sys_osf_select
sys_osf_set_program_attributes
sys_osf_setitimer
sys_osf_setsysinfo
sys_osf_settimeofday
sys_osf_sigaction
sys_osf_sigprocmask
sys_osf_sigstack
sys_osf_stat
sys_osf_statfs
sys_osf_statfs64
sys_osf_sysinfo
sys_osf_usleep_thread
sys_osf_utimes
sys_osf_utsname
sys_osf_wait4
sys_osf_writev
sys_pause
sys_personality
sys_pipe
sys_pipe2
sys_pivot_root
sys_poll
sys_ppoll
sys_prctl
sys_pread64
sys_preadv
sys_prlimit64
sys_pselect6
sys_ptrace
sys_pwrite64
sys_pwritev
sys_read
sys_readahead
sys_readlink
sys_readlinkat
sys_readv
sys_reboot
sys_removexattr
sys_rename
sys_renameat
sys_renameat2
sys_restart_syscall
sys_rmdir
sys_rt_sigaction
sys_rt_sigpending
sys_rt_sigprocmask
sys_rt_sigqueueinfo
sys_rt_sigreturn
sys_rt_sigsuspend
sys_rt_sigtimedwait
sys_rt_tgsigqueueinfo
sys_s390_fadvise64
sys_s390_fadvise64_64
sys_s390_fallocate
sys_s390_ipc
sys_s390_personality
sys_s390_runtime_instr
sys_sched_get_priority_max
sys_sched_get_priority_min
sys_sched_getaffinity
sys_sched_getattr
sys_sched_getparam
sys_sched_getscheduler
sys_sched_rr_get_interval
sys_sched_setaffinity
sys_sched_setattr
sys_sched_setparam
sys_sched_setscheduler
sys_sched_yield
sys_select
sys_sendfile
sys_sendfile64
sys_set_thread_area
sys_set_tid_address
sys_setdomainname
sys_setfsgid
sys_setfsuid
sys_setgid
sys_setgroups
sys_sethae
sys_sethostname
sys_setitimer
sys_setns
sys_setpgid
sys_setpriority
sys_setregid
sys_setresgid
sys_setresuid
sys_setreuid
sys_setrlimit
sys_setsid
sys_settimeofday
sys_setuid
sys_setxattr
sys_sigaction
sys_sigaltstack
sys_signal
sys_sigpending
sys_sigprocmask
sys_sigreturn
sys_sigsuspend
sys_sparc64_personality
sys_sparc_ipc
sys_sparc_pipe_real
sys_sparc_sigaction
sys_splice
sys_stat
sys_stat64
sys_statfs
sys_statfs64
sys_stime
sys_symlink
sys_symlinkat
sys_sync
sys_sync_file_range
sys_sync_file_range2
sys_syncfs
sys_sysctl
sys_sysinfo
sys_sysmips
sys_tee
sys_tgkill
sys_time
sys_timer_create
sys_timer_delete
sys_timer_getoverrun
sys_timer_gettime
sys_timer_settime
sys_times
sys_tkill
sys_truncate
sys_truncate64
sys_umask
sys_umount
sys_uname
sys_unlink
sys_unlinkat
sys_unshare
sys_ustat
sys_utime
sys_utimensat
sys_utimes
sys_utrap_install
sys_vfork
sys_vhangup
sys_vmsplice
sys_wait4
sys_waitid
sys_waitpid
sys_write
sys_writev
syscalls.txt · Last modified: 2014-08-06 23:27 by joshtriplett