xref: /linux/kernel/sys_ni.c (revision 2e3078af2c67730c479f1d183af5b367f5d95337)
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);
28f0895685SVivek Goyal cond_syscall(sys_kexec_file_load);
291da177e4SLinus Torvalds cond_syscall(sys_init_module);
3034e1169dSKees Cook cond_syscall(sys_finit_module);
311da177e4SLinus Torvalds cond_syscall(sys_delete_module);
321da177e4SLinus Torvalds cond_syscall(sys_socketpair);
331da177e4SLinus Torvalds cond_syscall(sys_bind);
341da177e4SLinus Torvalds cond_syscall(sys_listen);
351da177e4SLinus Torvalds cond_syscall(sys_accept);
36de11defeSUlrich Drepper cond_syscall(sys_accept4);
371da177e4SLinus Torvalds cond_syscall(sys_connect);
381da177e4SLinus Torvalds cond_syscall(sys_getsockname);
391da177e4SLinus Torvalds cond_syscall(sys_getpeername);
401da177e4SLinus Torvalds cond_syscall(sys_sendto);
411da177e4SLinus Torvalds cond_syscall(sys_send);
421da177e4SLinus Torvalds cond_syscall(sys_recvfrom);
431da177e4SLinus Torvalds cond_syscall(sys_recv);
441da177e4SLinus Torvalds cond_syscall(sys_socket);
451da177e4SLinus Torvalds cond_syscall(sys_setsockopt);
46f3baa482SDavid S. Miller cond_syscall(compat_sys_setsockopt);
471da177e4SLinus Torvalds cond_syscall(sys_getsockopt);
48f3baa482SDavid S. Miller cond_syscall(compat_sys_getsockopt);
491da177e4SLinus Torvalds cond_syscall(sys_shutdown);
501da177e4SLinus Torvalds cond_syscall(sys_sendmsg);
51228e548eSAnton Blanchard cond_syscall(sys_sendmmsg);
52f3baa482SDavid S. Miller cond_syscall(compat_sys_sendmsg);
53228e548eSAnton Blanchard cond_syscall(compat_sys_sendmmsg);
541da177e4SLinus Torvalds cond_syscall(sys_recvmsg);
55a2e27255SArnaldo Carvalho de Melo cond_syscall(sys_recvmmsg);
56f3baa482SDavid S. Miller cond_syscall(compat_sys_recvmsg);
571ef21199SStephen Rothwell cond_syscall(compat_sys_recv);
58dedcf297SAndrew Morton cond_syscall(compat_sys_recvfrom);
59a2e27255SArnaldo Carvalho de Melo cond_syscall(compat_sys_recvmmsg);
601da177e4SLinus Torvalds cond_syscall(sys_socketcall);
611da177e4SLinus Torvalds cond_syscall(sys_futex);
621da177e4SLinus Torvalds cond_syscall(compat_sys_futex);
630771dfefSIngo Molnar cond_syscall(sys_set_robust_list);
640771dfefSIngo Molnar cond_syscall(compat_sys_set_robust_list);
650771dfefSIngo Molnar cond_syscall(sys_get_robust_list);
660771dfefSIngo Molnar cond_syscall(compat_sys_get_robust_list);
671da177e4SLinus Torvalds cond_syscall(sys_epoll_create);
685df439efSWang Chen cond_syscall(sys_epoll_create1);
691da177e4SLinus Torvalds cond_syscall(sys_epoll_ctl);
701da177e4SLinus Torvalds cond_syscall(sys_epoll_wait);
7139af1143SRandy Dunlap cond_syscall(sys_epoll_pwait);
725f17156fSAtsushi Nemoto cond_syscall(compat_sys_epoll_pwait);
731da177e4SLinus Torvalds cond_syscall(sys_semget);
741da177e4SLinus Torvalds cond_syscall(sys_semop);
751da177e4SLinus Torvalds cond_syscall(sys_semtimedop);
76be84bfccSKevin Cernekee cond_syscall(compat_sys_semtimedop);
771da177e4SLinus Torvalds cond_syscall(sys_semctl);
78be84bfccSKevin Cernekee cond_syscall(compat_sys_semctl);
791da177e4SLinus Torvalds cond_syscall(sys_msgget);
801da177e4SLinus Torvalds cond_syscall(sys_msgsnd);
81be84bfccSKevin Cernekee cond_syscall(compat_sys_msgsnd);
821da177e4SLinus Torvalds cond_syscall(sys_msgrcv);
83be84bfccSKevin Cernekee cond_syscall(compat_sys_msgrcv);
841da177e4SLinus Torvalds cond_syscall(sys_msgctl);
85be84bfccSKevin Cernekee cond_syscall(compat_sys_msgctl);
861da177e4SLinus Torvalds cond_syscall(sys_shmget);
877d87e14cSStephen Rothwell cond_syscall(sys_shmat);
88be84bfccSKevin Cernekee cond_syscall(compat_sys_shmat);
891da177e4SLinus Torvalds cond_syscall(sys_shmdt);
901da177e4SLinus Torvalds cond_syscall(sys_shmctl);
91be84bfccSKevin Cernekee cond_syscall(compat_sys_shmctl);
921da177e4SLinus Torvalds cond_syscall(sys_mq_open);
931da177e4SLinus Torvalds cond_syscall(sys_mq_unlink);
941da177e4SLinus Torvalds cond_syscall(sys_mq_timedsend);
951da177e4SLinus Torvalds cond_syscall(sys_mq_timedreceive);
961da177e4SLinus Torvalds cond_syscall(sys_mq_notify);
971da177e4SLinus Torvalds cond_syscall(sys_mq_getsetattr);
981da177e4SLinus Torvalds cond_syscall(compat_sys_mq_open);
991da177e4SLinus Torvalds cond_syscall(compat_sys_mq_timedsend);
1001da177e4SLinus Torvalds cond_syscall(compat_sys_mq_timedreceive);
1011da177e4SLinus Torvalds cond_syscall(compat_sys_mq_notify);
1021da177e4SLinus Torvalds cond_syscall(compat_sys_mq_getsetattr);
1031da177e4SLinus Torvalds cond_syscall(sys_mbind);
1041da177e4SLinus Torvalds cond_syscall(sys_get_mempolicy);
1051da177e4SLinus Torvalds cond_syscall(sys_set_mempolicy);
1061da177e4SLinus Torvalds cond_syscall(compat_sys_mbind);
1071da177e4SLinus Torvalds cond_syscall(compat_sys_get_mempolicy);
1081da177e4SLinus Torvalds cond_syscall(compat_sys_set_mempolicy);
1091da177e4SLinus Torvalds cond_syscall(sys_add_key);
1101da177e4SLinus Torvalds cond_syscall(sys_request_key);
1111da177e4SLinus Torvalds cond_syscall(sys_keyctl);
1121da177e4SLinus Torvalds cond_syscall(compat_sys_keyctl);
1131da177e4SLinus Torvalds cond_syscall(compat_sys_socketcall);
1140eeca283SRobert Love cond_syscall(sys_inotify_init);
1154006553bSUlrich Drepper cond_syscall(sys_inotify_init1);
1160eeca283SRobert Love cond_syscall(sys_inotify_add_watch);
1170eeca283SRobert Love cond_syscall(sys_inotify_rm_watch);
11839743889SChristoph Lameter cond_syscall(sys_migrate_pages);
119742755a1SChristoph Lameter cond_syscall(sys_move_pages);
120e585e470SMatt Mackall cond_syscall(sys_chown16);
121e585e470SMatt Mackall cond_syscall(sys_fchown16);
122e585e470SMatt Mackall cond_syscall(sys_getegid16);
123e585e470SMatt Mackall cond_syscall(sys_geteuid16);
124e585e470SMatt Mackall cond_syscall(sys_getgid16);
125e585e470SMatt Mackall cond_syscall(sys_getgroups16);
126e585e470SMatt Mackall cond_syscall(sys_getresgid16);
127e585e470SMatt Mackall cond_syscall(sys_getresuid16);
128e585e470SMatt Mackall cond_syscall(sys_getuid16);
129e585e470SMatt Mackall cond_syscall(sys_lchown16);
130e585e470SMatt Mackall cond_syscall(sys_setfsgid16);
131e585e470SMatt Mackall cond_syscall(sys_setfsuid16);
132e585e470SMatt Mackall cond_syscall(sys_setgid16);
133e585e470SMatt Mackall cond_syscall(sys_setgroups16);
134e585e470SMatt Mackall cond_syscall(sys_setregid16);
135e585e470SMatt Mackall cond_syscall(sys_setresgid16);
136e585e470SMatt Mackall cond_syscall(sys_setresuid16);
137e585e470SMatt Mackall cond_syscall(sys_setreuid16);
138e585e470SMatt Mackall cond_syscall(sys_setuid16);
139f6187769SFabian Frederick cond_syscall(sys_sgetmask);
140f6187769SFabian Frederick cond_syscall(sys_ssetmask);
14164ca9004SMatt Mackall cond_syscall(sys_vm86old);
14264ca9004SMatt Mackall cond_syscall(sys_vm86);
143a5b9e5a2SAndy Lutomirski cond_syscall(sys_modify_ldt);
144baed7fc9SChristoph Hellwig cond_syscall(sys_ipc);
1457fd105e7SStephen Rothwell cond_syscall(compat_sys_ipc);
1467fd105e7SStephen Rothwell cond_syscall(compat_sys_sysctl);
147bfcd17a6SThomas Petazzoni cond_syscall(sys_flock);
148ebf3f09cSThomas Petazzoni cond_syscall(sys_io_setup);
149ebf3f09cSThomas Petazzoni cond_syscall(sys_io_destroy);
150ebf3f09cSThomas Petazzoni cond_syscall(sys_io_submit);
151ebf3f09cSThomas Petazzoni cond_syscall(sys_io_cancel);
152ebf3f09cSThomas Petazzoni cond_syscall(sys_io_getevents);
1536af9f7bfSFabian Frederick cond_syscall(sys_sysfs);
154f627a741SHeiko Carstens cond_syscall(sys_syslog);
155fcf63409SChristopher Yeoh cond_syscall(sys_process_vm_readv);
156fcf63409SChristopher Yeoh cond_syscall(sys_process_vm_writev);
157fcf63409SChristopher Yeoh cond_syscall(compat_sys_process_vm_readv);
158fcf63409SChristopher Yeoh cond_syscall(compat_sys_process_vm_writev);
15969369a70SJosh Triplett cond_syscall(sys_uselib);
160d3ac21caSJosh Triplett cond_syscall(sys_fadvise64);
161d3ac21caSJosh Triplett cond_syscall(sys_fadvise64_64);
162d3ac21caSJosh Triplett cond_syscall(sys_madvise);
1632813893fSIulia Manda cond_syscall(sys_setuid);
1642813893fSIulia Manda cond_syscall(sys_setregid);
1652813893fSIulia Manda cond_syscall(sys_setgid);
1662813893fSIulia Manda cond_syscall(sys_setreuid);
1672813893fSIulia Manda cond_syscall(sys_setresuid);
1682813893fSIulia Manda cond_syscall(sys_getresuid);
1692813893fSIulia Manda cond_syscall(sys_setresgid);
1702813893fSIulia Manda cond_syscall(sys_getresgid);
1712813893fSIulia Manda cond_syscall(sys_setgroups);
1722813893fSIulia Manda cond_syscall(sys_getgroups);
1732813893fSIulia Manda cond_syscall(sys_setfsuid);
1742813893fSIulia Manda cond_syscall(sys_setfsgid);
1752813893fSIulia Manda cond_syscall(sys_capget);
1762813893fSIulia Manda cond_syscall(sys_capset);
1771da177e4SLinus Torvalds 
1781da177e4SLinus Torvalds /* arch-specific weak syscall entries */
1791da177e4SLinus Torvalds cond_syscall(sys_pciconfig_read);
1801da177e4SLinus Torvalds cond_syscall(sys_pciconfig_write);
1811da177e4SLinus Torvalds cond_syscall(sys_pciconfig_iobase);
18256e41d3cSAl Viro cond_syscall(compat_sys_s390_ipc);
1831da177e4SLinus Torvalds cond_syscall(ppc_rtas);
18467207b96SArnd Bergmann cond_syscall(sys_spu_run);
18567207b96SArnd Bergmann cond_syscall(sys_spu_create);
186fa28237cSPaul Mackerras cond_syscall(sys_subpage_prot);
1874eafad7fSAlexey Ishchuk cond_syscall(sys_s390_pci_mmio_read);
1884eafad7fSAlexey Ishchuk cond_syscall(sys_s390_pci_mmio_write);
1893016b421SHyok S. Choi 
1903016b421SHyok S. Choi /* mmu depending weak syscall entries */
1913016b421SHyok S. Choi cond_syscall(sys_mprotect);
1923016b421SHyok S. Choi cond_syscall(sys_msync);
1933016b421SHyok S. Choi cond_syscall(sys_mlock);
1943016b421SHyok S. Choi cond_syscall(sys_munlock);
1953016b421SHyok S. Choi cond_syscall(sys_mlockall);
1963016b421SHyok S. Choi cond_syscall(sys_munlockall);
197a8ca5d0eSEric B Munson cond_syscall(sys_mlock2);
1983016b421SHyok S. Choi cond_syscall(sys_mincore);
1993016b421SHyok S. Choi cond_syscall(sys_madvise);
2003016b421SHyok S. Choi cond_syscall(sys_mremap);
2013016b421SHyok S. Choi cond_syscall(sys_remap_file_pages);
2021b2db9fbSChristoph Lameter cond_syscall(compat_sys_move_pages);
2033fd59397SStephen Rothwell cond_syscall(compat_sys_migrate_pages);
2049361401eSDavid Howells 
2059361401eSDavid Howells /* block-layer dependent */
2069361401eSDavid Howells cond_syscall(sys_bdflush);
2079361401eSDavid Howells cond_syscall(sys_ioprio_set);
2089361401eSDavid Howells cond_syscall(sys_ioprio_get);
209fba2afaaSDavide Libenzi 
210fba2afaaSDavide Libenzi /* New file descriptors */
211fba2afaaSDavide Libenzi cond_syscall(sys_signalfd);
2129deb27baSUlrich Drepper cond_syscall(sys_signalfd4);
2138df767ddSHeiko Carstens cond_syscall(compat_sys_signalfd);
2149b813616SIngo Molnar cond_syscall(compat_sys_signalfd4);
2154d672e7aSDavide Libenzi cond_syscall(sys_timerfd_create);
2164d672e7aSDavide Libenzi cond_syscall(sys_timerfd_settime);
2174d672e7aSDavide Libenzi cond_syscall(sys_timerfd_gettime);
2184d672e7aSDavide Libenzi cond_syscall(compat_sys_timerfd_settime);
2194d672e7aSDavide Libenzi cond_syscall(compat_sys_timerfd_gettime);
220e1ad7468SDavide Libenzi cond_syscall(sys_eventfd);
221b087498eSUlrich Drepper cond_syscall(sys_eventfd2);
2229183df25SDavid Herrmann cond_syscall(sys_memfd_create);
2231380fca0SAndrea Arcangeli cond_syscall(sys_userfaultfd);
2240793a61dSThomas Gleixner 
2250793a61dSThomas Gleixner /* performance counters: */
226cdd6c482SIngo Molnar cond_syscall(sys_perf_event_open);
22711637e4bSEric Paris 
22811637e4bSEric Paris /* fanotify! */
22911637e4bSEric Paris cond_syscall(sys_fanotify_init);
230bbaa4168SEric Paris cond_syscall(sys_fanotify_mark);
23191c2e0bcSAl Viro cond_syscall(compat_sys_fanotify_mark);
232990d6c2dSAneesh Kumar K.V 
233990d6c2dSAneesh Kumar K.V /* open by handle */
234990d6c2dSAneesh Kumar K.V cond_syscall(sys_name_to_handle_at);
235becfd1f3SAneesh Kumar K.V cond_syscall(sys_open_by_handle_at);
236becfd1f3SAneesh Kumar K.V cond_syscall(compat_sys_open_by_handle_at);
237d97b46a6SCyrill Gorcunov 
238d97b46a6SCyrill Gorcunov /* compare kernel pointers */
239d97b46a6SCyrill Gorcunov cond_syscall(sys_kcmp);
24048dc92b9SKees Cook 
24148dc92b9SKees Cook /* operate on Secure Computing state */
24248dc92b9SKees Cook cond_syscall(sys_seccomp);
243749730ceSAlexei Starovoitov 
244749730ceSAlexei Starovoitov /* access BPF programs and maps */
245749730ceSAlexei Starovoitov cond_syscall(sys_bpf);
24651f39a1fSDavid Drysdale 
24751f39a1fSDavid Drysdale /* execveat */
24851f39a1fSDavid Drysdale cond_syscall(sys_execveat);
2495b25b13aSMathieu Desnoyers 
2505b25b13aSMathieu Desnoyers /* membarrier */
2515b25b13aSMathieu Desnoyers cond_syscall(sys_membarrier);
252