This shows you the differences between two versions of the page.
syscalls [2014-08-06 01:32] joshtriplett created |
syscalls [2014-08-06 23:27] (current) joshtriplett Add script to generate syscall lists, and update results |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | List of syscalls that the kernel doesn't currently support compiling out: | + | 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: |
- | <code> | + | <file bash 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 | ||
+ | </file> | ||
+ | |||
+ | A snapshot of syscalls-non-optional from a recent kernel (85417aef44fc58b08773117ceb1bc6ca5684e973, during the 3.17 merge window): | ||
+ | |||
+ | <code - 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_access | ||
sys_adjtimex | sys_adjtimex | ||
sys_alarm | sys_alarm | ||
+ | sys_alpha_pipe | ||
+ | sys_arc_gettls | ||
+ | sys_arc_settls | ||
sys_brk | sys_brk | ||
+ | sys_cachectl | ||
+ | sys_cacheflush | ||
sys_capget | sys_capget | ||
sys_capset | sys_capset | ||
Line 19: | Line 173: | ||
sys_clone | sys_clone | ||
sys_close | sys_close | ||
+ | sys_cmpxchg_badaddr | ||
sys_creat | sys_creat | ||
sys_dup | sys_dup | ||
Line 52: | Line 207: | ||
sys_ftruncate64 | sys_ftruncate64 | ||
sys_futimesat | sys_futimesat | ||
+ | sys_get_thread_area | ||
sys_getcpu | sys_getcpu | ||
sys_getcwd | sys_getcwd | ||
sys_getdents | sys_getdents | ||
sys_getdents64 | sys_getdents64 | ||
+ | sys_getdomainname | ||
+ | sys_getdtablesize | ||
sys_getegid | sys_getegid | ||
sys_geteuid | sys_geteuid | ||
Line 62: | Line 220: | ||
sys_gethostname | sys_gethostname | ||
sys_getitimer | sys_getitimer | ||
+ | sys_getpagesize | ||
sys_getpgid | sys_getpgid | ||
sys_getpgrp | sys_getpgrp | ||
Line 67: | Line 226: | ||
sys_getppid | sys_getppid | ||
sys_getpriority | sys_getpriority | ||
+ | sys_getrandom | ||
sys_getresgid | sys_getresgid | ||
sys_getresuid | sys_getresuid | ||
Line 76: | Line 236: | ||
sys_getuid | sys_getuid | ||
sys_getxattr | sys_getxattr | ||
+ | sys_getxgid | ||
+ | sys_getxpid | ||
+ | sys_getxuid | ||
sys_ioctl | sys_ioctl | ||
sys_ioperm | sys_ioperm | ||
+ | sys_iopl | ||
sys_kill | sys_kill | ||
sys_lchown | sys_lchown | ||
Line 91: | Line 255: | ||
sys_lstat | sys_lstat | ||
sys_lstat64 | sys_lstat64 | ||
+ | sys_mips_mmap | ||
+ | sys_mips_mmap2 | ||
sys_mkdir | sys_mkdir | ||
sys_mkdirat | sys_mkdirat | ||
sys_mknod | sys_mknod | ||
sys_mknodat | sys_mknodat | ||
+ | sys_mmap | ||
+ | sys_mmap2 | ||
sys_mmap_pgoff | sys_mmap_pgoff | ||
sys_mount | sys_mount | ||
Line 106: | Line 274: | ||
sys_ni_syscall | sys_ni_syscall | ||
sys_nice | sys_nice | ||
+ | sys_old_adjtimex | ||
sys_old_getrlimit | sys_old_getrlimit | ||
sys_old_mmap | sys_old_mmap | ||
Line 114: | Line 283: | ||
sys_open | sys_open | ||
sys_openat | 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_pause | ||
sys_personality | sys_personality | ||
Line 145: | Line 347: | ||
sys_rt_sigprocmask | sys_rt_sigprocmask | ||
sys_rt_sigqueueinfo | sys_rt_sigqueueinfo | ||
+ | sys_rt_sigreturn | ||
sys_rt_sigsuspend | sys_rt_sigsuspend | ||
sys_rt_sigtimedwait | sys_rt_sigtimedwait | ||
sys_rt_tgsigqueueinfo | 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_max | ||
sys_sched_get_priority_min | sys_sched_get_priority_min | ||
Line 163: | Line 372: | ||
sys_sendfile | sys_sendfile | ||
sys_sendfile64 | sys_sendfile64 | ||
+ | sys_set_thread_area | ||
sys_set_tid_address | sys_set_tid_address | ||
sys_setdomainname | sys_setdomainname | ||
Line 169: | Line 379: | ||
sys_setgid | sys_setgid | ||
sys_setgroups | sys_setgroups | ||
+ | sys_sethae | ||
sys_sethostname | sys_sethostname | ||
sys_setitimer | sys_setitimer | ||
Line 183: | Line 394: | ||
sys_setuid | sys_setuid | ||
sys_setxattr | sys_setxattr | ||
- | sys_sgetmask | ||
sys_sigaction | sys_sigaction | ||
sys_sigaltstack | sys_sigaltstack | ||
Line 189: | Line 399: | ||
sys_sigpending | sys_sigpending | ||
sys_sigprocmask | sys_sigprocmask | ||
+ | sys_sigreturn | ||
sys_sigsuspend | sys_sigsuspend | ||
+ | sys_sparc64_personality | ||
+ | sys_sparc_ipc | ||
+ | sys_sparc_pipe_real | ||
+ | sys_sparc_sigaction | ||
sys_splice | sys_splice | ||
- | sys_ssetmask | ||
sys_stat | sys_stat | ||
sys_stat64 | sys_stat64 | ||
Line 205: | Line 419: | ||
sys_sysctl | sys_sysctl | ||
sys_sysinfo | sys_sysinfo | ||
+ | sys_sysmips | ||
sys_tee | sys_tee | ||
sys_tgkill | sys_tgkill | ||
Line 227: | Line 442: | ||
sys_utimensat | sys_utimensat | ||
sys_utimes | sys_utimes | ||
+ | sys_utrap_install | ||
sys_vfork | sys_vfork | ||
sys_vhangup | sys_vhangup | ||
Line 236: | Line 452: | ||
sys_writev | sys_writev | ||
</code> | </code> | ||
- |