11da177e4SLinus Torvalds 21da177e4SLinus Torvalds #include <linux/linkage.h> 31da177e4SLinus Torvalds #include <linux/errno.h> 41da177e4SLinus Torvalds 51da177e4SLinus Torvalds #include <asm/unistd.h> 61da177e4SLinus Torvalds 70732a552SAdrian Bunk /* we can't #include <linux/syscalls.h> here, 80732a552SAdrian Bunk but tell gcc to not warn with -Wmissing-prototypes */ 90732a552SAdrian Bunk asmlinkage long sys_ni_syscall(void); 100732a552SAdrian Bunk 111da177e4SLinus Torvalds /* 121da177e4SLinus Torvalds * Non-implemented system calls get redirected here. 131da177e4SLinus Torvalds */ 141da177e4SLinus Torvalds asmlinkage long sys_ni_syscall(void) 151da177e4SLinus Torvalds { 161da177e4SLinus Torvalds return -ENOSYS; 171da177e4SLinus Torvalds } 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds cond_syscall(sys_quotactl); 20b716395eSVasily Tarasov cond_syscall(sys32_quotactl); 211da177e4SLinus Torvalds cond_syscall(sys_acct); 221da177e4SLinus Torvalds cond_syscall(sys_lookup_dcookie); 23d5dc77bfSAl Viro cond_syscall(compat_sys_lookup_dcookie); 241da177e4SLinus Torvalds cond_syscall(sys_swapon); 251da177e4SLinus Torvalds cond_syscall(sys_swapoff); 26dc009d92SEric W. Biederman cond_syscall(sys_kexec_load); 27dc009d92SEric W. Biederman cond_syscall(compat_sys_kexec_load); 281da177e4SLinus Torvalds cond_syscall(sys_init_module); 2934e1169dSKees Cook cond_syscall(sys_finit_module); 301da177e4SLinus Torvalds cond_syscall(sys_delete_module); 311da177e4SLinus Torvalds cond_syscall(sys_socketpair); 321da177e4SLinus Torvalds cond_syscall(sys_bind); 331da177e4SLinus Torvalds cond_syscall(sys_listen); 341da177e4SLinus Torvalds cond_syscall(sys_accept); 35de11defeSUlrich Drepper cond_syscall(sys_accept4); 361da177e4SLinus Torvalds cond_syscall(sys_connect); 371da177e4SLinus Torvalds cond_syscall(sys_getsockname); 381da177e4SLinus Torvalds cond_syscall(sys_getpeername); 391da177e4SLinus Torvalds cond_syscall(sys_sendto); 401da177e4SLinus Torvalds cond_syscall(sys_send); 411da177e4SLinus Torvalds cond_syscall(sys_recvfrom); 421da177e4SLinus Torvalds cond_syscall(sys_recv); 431da177e4SLinus Torvalds cond_syscall(sys_socket); 441da177e4SLinus Torvalds cond_syscall(sys_setsockopt); 45f3baa482SDavid S. Miller cond_syscall(compat_sys_setsockopt); 461da177e4SLinus Torvalds cond_syscall(sys_getsockopt); 47f3baa482SDavid S. Miller cond_syscall(compat_sys_getsockopt); 481da177e4SLinus Torvalds cond_syscall(sys_shutdown); 491da177e4SLinus Torvalds cond_syscall(sys_sendmsg); 50228e548eSAnton Blanchard cond_syscall(sys_sendmmsg); 51f3baa482SDavid S. Miller cond_syscall(compat_sys_sendmsg); 52228e548eSAnton Blanchard cond_syscall(compat_sys_sendmmsg); 531da177e4SLinus Torvalds cond_syscall(sys_recvmsg); 54a2e27255SArnaldo Carvalho de Melo cond_syscall(sys_recvmmsg); 55f3baa482SDavid S. Miller cond_syscall(compat_sys_recvmsg); 561ef21199SStephen Rothwell cond_syscall(compat_sys_recv); 57dedcf297SAndrew Morton cond_syscall(compat_sys_recvfrom); 58a2e27255SArnaldo Carvalho de Melo cond_syscall(compat_sys_recvmmsg); 591da177e4SLinus Torvalds cond_syscall(sys_socketcall); 601da177e4SLinus Torvalds cond_syscall(sys_futex); 611da177e4SLinus Torvalds cond_syscall(compat_sys_futex); 620771dfefSIngo Molnar cond_syscall(sys_set_robust_list); 630771dfefSIngo Molnar cond_syscall(compat_sys_set_robust_list); 640771dfefSIngo Molnar cond_syscall(sys_get_robust_list); 650771dfefSIngo Molnar cond_syscall(compat_sys_get_robust_list); 661da177e4SLinus Torvalds cond_syscall(sys_epoll_create); 675df439efSWang Chen cond_syscall(sys_epoll_create1); 681da177e4SLinus Torvalds cond_syscall(sys_epoll_ctl); 691da177e4SLinus Torvalds cond_syscall(sys_epoll_wait); 7039af1143SRandy Dunlap cond_syscall(sys_epoll_pwait); 715f17156fSAtsushi Nemoto cond_syscall(compat_sys_epoll_pwait); 721da177e4SLinus Torvalds cond_syscall(sys_semget); 731da177e4SLinus Torvalds cond_syscall(sys_semop); 741da177e4SLinus Torvalds cond_syscall(sys_semtimedop); 75be84bfccSKevin Cernekee cond_syscall(compat_sys_semtimedop); 761da177e4SLinus Torvalds cond_syscall(sys_semctl); 77be84bfccSKevin Cernekee cond_syscall(compat_sys_semctl); 781da177e4SLinus Torvalds cond_syscall(sys_msgget); 791da177e4SLinus Torvalds cond_syscall(sys_msgsnd); 80be84bfccSKevin Cernekee cond_syscall(compat_sys_msgsnd); 811da177e4SLinus Torvalds cond_syscall(sys_msgrcv); 82be84bfccSKevin Cernekee cond_syscall(compat_sys_msgrcv); 831da177e4SLinus Torvalds cond_syscall(sys_msgctl); 84be84bfccSKevin Cernekee cond_syscall(compat_sys_msgctl); 851da177e4SLinus Torvalds cond_syscall(sys_shmget); 867d87e14cSStephen Rothwell cond_syscall(sys_shmat); 87be84bfccSKevin Cernekee cond_syscall(compat_sys_shmat); 881da177e4SLinus Torvalds cond_syscall(sys_shmdt); 891da177e4SLinus Torvalds cond_syscall(sys_shmctl); 90be84bfccSKevin Cernekee cond_syscall(compat_sys_shmctl); 911da177e4SLinus Torvalds cond_syscall(sys_mq_open); 921da177e4SLinus Torvalds cond_syscall(sys_mq_unlink); 931da177e4SLinus Torvalds cond_syscall(sys_mq_timedsend); 941da177e4SLinus Torvalds cond_syscall(sys_mq_timedreceive); 951da177e4SLinus Torvalds cond_syscall(sys_mq_notify); 961da177e4SLinus Torvalds cond_syscall(sys_mq_getsetattr); 971da177e4SLinus Torvalds cond_syscall(compat_sys_mq_open); 981da177e4SLinus Torvalds cond_syscall(compat_sys_mq_timedsend); 991da177e4SLinus Torvalds cond_syscall(compat_sys_mq_timedreceive); 1001da177e4SLinus Torvalds cond_syscall(compat_sys_mq_notify); 1011da177e4SLinus Torvalds cond_syscall(compat_sys_mq_getsetattr); 1021da177e4SLinus Torvalds cond_syscall(sys_mbind); 1031da177e4SLinus Torvalds cond_syscall(sys_get_mempolicy); 1041da177e4SLinus Torvalds cond_syscall(sys_set_mempolicy); 1051da177e4SLinus Torvalds cond_syscall(compat_sys_mbind); 1061da177e4SLinus Torvalds cond_syscall(compat_sys_get_mempolicy); 1071da177e4SLinus Torvalds cond_syscall(compat_sys_set_mempolicy); 1081da177e4SLinus Torvalds cond_syscall(sys_add_key); 1091da177e4SLinus Torvalds cond_syscall(sys_request_key); 1101da177e4SLinus Torvalds cond_syscall(sys_keyctl); 1111da177e4SLinus Torvalds cond_syscall(compat_sys_keyctl); 1121da177e4SLinus Torvalds cond_syscall(compat_sys_socketcall); 1130eeca283SRobert Love cond_syscall(sys_inotify_init); 1144006553bSUlrich Drepper cond_syscall(sys_inotify_init1); 1150eeca283SRobert Love cond_syscall(sys_inotify_add_watch); 1160eeca283SRobert Love cond_syscall(sys_inotify_rm_watch); 11739743889SChristoph Lameter cond_syscall(sys_migrate_pages); 118742755a1SChristoph Lameter cond_syscall(sys_move_pages); 119e585e470SMatt Mackall cond_syscall(sys_chown16); 120e585e470SMatt Mackall cond_syscall(sys_fchown16); 121e585e470SMatt Mackall cond_syscall(sys_getegid16); 122e585e470SMatt Mackall cond_syscall(sys_geteuid16); 123e585e470SMatt Mackall cond_syscall(sys_getgid16); 124e585e470SMatt Mackall cond_syscall(sys_getgroups16); 125e585e470SMatt Mackall cond_syscall(sys_getresgid16); 126e585e470SMatt Mackall cond_syscall(sys_getresuid16); 127e585e470SMatt Mackall cond_syscall(sys_getuid16); 128e585e470SMatt Mackall cond_syscall(sys_lchown16); 129e585e470SMatt Mackall cond_syscall(sys_setfsgid16); 130e585e470SMatt Mackall cond_syscall(sys_setfsuid16); 131e585e470SMatt Mackall cond_syscall(sys_setgid16); 132e585e470SMatt Mackall cond_syscall(sys_setgroups16); 133e585e470SMatt Mackall cond_syscall(sys_setregid16); 134e585e470SMatt Mackall cond_syscall(sys_setresgid16); 135e585e470SMatt Mackall cond_syscall(sys_setresuid16); 136e585e470SMatt Mackall cond_syscall(sys_setreuid16); 137e585e470SMatt Mackall cond_syscall(sys_setuid16); 13864ca9004SMatt Mackall cond_syscall(sys_vm86old); 13964ca9004SMatt Mackall cond_syscall(sys_vm86); 140baed7fc9SChristoph Hellwig cond_syscall(sys_ipc); 1417fd105e7SStephen Rothwell cond_syscall(compat_sys_ipc); 1427fd105e7SStephen Rothwell cond_syscall(compat_sys_sysctl); 143bfcd17a6SThomas Petazzoni cond_syscall(sys_flock); 144ebf3f09cSThomas Petazzoni cond_syscall(sys_io_setup); 145ebf3f09cSThomas Petazzoni cond_syscall(sys_io_destroy); 146ebf3f09cSThomas Petazzoni cond_syscall(sys_io_submit); 147ebf3f09cSThomas Petazzoni cond_syscall(sys_io_cancel); 148ebf3f09cSThomas Petazzoni cond_syscall(sys_io_getevents); 149*6af9f7bfSFabian Frederick cond_syscall(sys_sysfs); 150f627a741SHeiko Carstens cond_syscall(sys_syslog); 151fcf63409SChristopher Yeoh cond_syscall(sys_process_vm_readv); 152fcf63409SChristopher Yeoh cond_syscall(sys_process_vm_writev); 153fcf63409SChristopher Yeoh cond_syscall(compat_sys_process_vm_readv); 154fcf63409SChristopher Yeoh cond_syscall(compat_sys_process_vm_writev); 1551da177e4SLinus Torvalds 1561da177e4SLinus Torvalds /* arch-specific weak syscall entries */ 1571da177e4SLinus Torvalds cond_syscall(sys_pciconfig_read); 1581da177e4SLinus Torvalds cond_syscall(sys_pciconfig_write); 1591da177e4SLinus Torvalds cond_syscall(sys_pciconfig_iobase); 16056e41d3cSAl Viro cond_syscall(compat_sys_s390_ipc); 1611da177e4SLinus Torvalds cond_syscall(ppc_rtas); 16267207b96SArnd Bergmann cond_syscall(sys_spu_run); 16367207b96SArnd Bergmann cond_syscall(sys_spu_create); 164fa28237cSPaul Mackerras cond_syscall(sys_subpage_prot); 1653016b421SHyok S. Choi 1663016b421SHyok S. Choi /* mmu depending weak syscall entries */ 1673016b421SHyok S. Choi cond_syscall(sys_mprotect); 1683016b421SHyok S. Choi cond_syscall(sys_msync); 1693016b421SHyok S. Choi cond_syscall(sys_mlock); 1703016b421SHyok S. Choi cond_syscall(sys_munlock); 1713016b421SHyok S. Choi cond_syscall(sys_mlockall); 1723016b421SHyok S. Choi cond_syscall(sys_munlockall); 1733016b421SHyok S. Choi cond_syscall(sys_mincore); 1743016b421SHyok S. Choi cond_syscall(sys_madvise); 1753016b421SHyok S. Choi cond_syscall(sys_mremap); 1763016b421SHyok S. Choi cond_syscall(sys_remap_file_pages); 1771b2db9fbSChristoph Lameter cond_syscall(compat_sys_move_pages); 1783fd59397SStephen Rothwell cond_syscall(compat_sys_migrate_pages); 1799361401eSDavid Howells 1809361401eSDavid Howells /* block-layer dependent */ 1819361401eSDavid Howells cond_syscall(sys_bdflush); 1829361401eSDavid Howells cond_syscall(sys_ioprio_set); 1839361401eSDavid Howells cond_syscall(sys_ioprio_get); 184fba2afaaSDavide Libenzi 185fba2afaaSDavide Libenzi /* New file descriptors */ 186fba2afaaSDavide Libenzi cond_syscall(sys_signalfd); 1879deb27baSUlrich Drepper cond_syscall(sys_signalfd4); 1888df767ddSHeiko Carstens cond_syscall(compat_sys_signalfd); 1899b813616SIngo Molnar cond_syscall(compat_sys_signalfd4); 1904d672e7aSDavide Libenzi cond_syscall(sys_timerfd_create); 1914d672e7aSDavide Libenzi cond_syscall(sys_timerfd_settime); 1924d672e7aSDavide Libenzi cond_syscall(sys_timerfd_gettime); 1934d672e7aSDavide Libenzi cond_syscall(compat_sys_timerfd_settime); 1944d672e7aSDavide Libenzi cond_syscall(compat_sys_timerfd_gettime); 195e1ad7468SDavide Libenzi cond_syscall(sys_eventfd); 196b087498eSUlrich Drepper cond_syscall(sys_eventfd2); 1970793a61dSThomas Gleixner 1980793a61dSThomas Gleixner /* performance counters: */ 199cdd6c482SIngo Molnar cond_syscall(sys_perf_event_open); 20011637e4bSEric Paris 20111637e4bSEric Paris /* fanotify! */ 20211637e4bSEric Paris cond_syscall(sys_fanotify_init); 203bbaa4168SEric Paris cond_syscall(sys_fanotify_mark); 20491c2e0bcSAl Viro cond_syscall(compat_sys_fanotify_mark); 205990d6c2dSAneesh Kumar K.V 206990d6c2dSAneesh Kumar K.V /* open by handle */ 207990d6c2dSAneesh Kumar K.V cond_syscall(sys_name_to_handle_at); 208becfd1f3SAneesh Kumar K.V cond_syscall(sys_open_by_handle_at); 209becfd1f3SAneesh Kumar K.V cond_syscall(compat_sys_open_by_handle_at); 210d97b46a6SCyrill Gorcunov 211d97b46a6SCyrill Gorcunov /* compare kernel pointers */ 212d97b46a6SCyrill Gorcunov cond_syscall(sys_kcmp); 213