1e9b13c66SConrad Meyer /*- 24d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3e9b13c66SConrad Meyer * 41ca6b15bSDmitry Chagin * Copyright (c) 2013 Dmitry Chagin <dchagin@FreeBSD.org> 5e9b13c66SConrad Meyer * 6e9b13c66SConrad Meyer * Redistribution and use in source and binary forms, with or without 7e9b13c66SConrad Meyer * modification, are permitted provided that the following conditions 8e9b13c66SConrad Meyer * are met: 9e9b13c66SConrad Meyer * 1. Redistributions of source code must retain the above copyright 10e9b13c66SConrad Meyer * notice, this list of conditions and the following disclaimer. 11e9b13c66SConrad Meyer * 2. Redistributions in binary form must reproduce the above copyright 12e9b13c66SConrad Meyer * notice, this list of conditions and the following disclaimer in the 13e9b13c66SConrad Meyer * documentation and/or other materials provided with the distribution. 14e9b13c66SConrad Meyer * 15e9b13c66SConrad Meyer * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16e9b13c66SConrad Meyer * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17e9b13c66SConrad Meyer * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18e9b13c66SConrad Meyer * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19e9b13c66SConrad Meyer * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20e9b13c66SConrad Meyer * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21e9b13c66SConrad Meyer * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22e9b13c66SConrad Meyer * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23e9b13c66SConrad Meyer * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24e9b13c66SConrad Meyer * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25e9b13c66SConrad Meyer * SUCH DAMAGE. 26e9b13c66SConrad Meyer */ 27e9b13c66SConrad Meyer 28e9b13c66SConrad Meyer #include <sys/param.h> 29e9b13c66SConrad Meyer #include <sys/systm.h> 30d8e53d94SDmitry Chagin #include <sys/sdt.h> 31e9b13c66SConrad Meyer #include <sys/proc.h> 32e9b13c66SConrad Meyer 3376b2bfedSConrad Meyer /* 3476b2bfedSConrad Meyer * Including linux vs linux32 here is arbitrary -- the syscall args structures 3576b2bfedSConrad Meyer * (proto.h) are not dereferenced by the DUMMY stub implementations, and 3676b2bfedSConrad Meyer * suitable for use by both native and compat32 entrypoints. 3776b2bfedSConrad Meyer */ 38e9b13c66SConrad Meyer #include <machine/../linux/linux.h> 39e9b13c66SConrad Meyer #include <machine/../linux/linux_proto.h> 40e9b13c66SConrad Meyer 41e9b13c66SConrad Meyer #include <compat/linux/linux_dtrace.h> 42e9b13c66SConrad Meyer #include <compat/linux/linux_util.h> 43e9b13c66SConrad Meyer 44e9b13c66SConrad Meyer /* DTrace init */ 45e9b13c66SConrad Meyer LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE); 46e9b13c66SConrad Meyer 47e9b13c66SConrad Meyer UNIMPLEMENTED(afs_syscall); 48e9b13c66SConrad Meyer UNIMPLEMENTED(create_module); /* Added in Linux 1.0 removed in 2.6. */ 49e9b13c66SConrad Meyer UNIMPLEMENTED(epoll_ctl_old); 50e9b13c66SConrad Meyer UNIMPLEMENTED(epoll_wait_old); 51e9b13c66SConrad Meyer UNIMPLEMENTED(get_kernel_syms); /* Added in Linux 1.0 removed in 2.6. */ 52e9b13c66SConrad Meyer UNIMPLEMENTED(getpmsg); 53e9b13c66SConrad Meyer UNIMPLEMENTED(nfsservctl); /* Added in Linux 2.2 removed in 3.1. */ 54e9b13c66SConrad Meyer UNIMPLEMENTED(putpmsg); 55e9b13c66SConrad Meyer UNIMPLEMENTED(query_module); /* Added in Linux 2.2 removed in 2.6. */ 56e9b13c66SConrad Meyer UNIMPLEMENTED(security); 57e9b13c66SConrad Meyer UNIMPLEMENTED(vserver); 58e9b13c66SConrad Meyer 59e9b13c66SConrad Meyer DUMMY(setfsuid); 60e9b13c66SConrad Meyer DUMMY(setfsgid); 61e9b13c66SConrad Meyer DUMMY(vhangup); 62e9b13c66SConrad Meyer DUMMY(pivot_root); 63e9b13c66SConrad Meyer DUMMY(adjtimex); 64e9b13c66SConrad Meyer DUMMY(swapoff); 65e9b13c66SConrad Meyer DUMMY(init_module); 66e9b13c66SConrad Meyer DUMMY(delete_module); 67e9b13c66SConrad Meyer DUMMY(lookup_dcookie); 68e9b13c66SConrad Meyer DUMMY(remap_file_pages); 69e9b13c66SConrad Meyer DUMMY(mbind); 70e9b13c66SConrad Meyer DUMMY(get_mempolicy); 71e9b13c66SConrad Meyer DUMMY(set_mempolicy); 72e9b13c66SConrad Meyer DUMMY(kexec_load); 73e9b13c66SConrad Meyer /* Linux 2.6.11: */ 74e9b13c66SConrad Meyer DUMMY(add_key); 75e9b13c66SConrad Meyer DUMMY(request_key); 76e9b13c66SConrad Meyer DUMMY(keyctl); 77e9b13c66SConrad Meyer /* Linux 2.6.16: */ 78e9b13c66SConrad Meyer DUMMY(migrate_pages); 79e9b13c66SConrad Meyer DUMMY(unshare); 80e9b13c66SConrad Meyer /* Linux 2.6.17: */ 81e9b13c66SConrad Meyer DUMMY(tee); 82e9b13c66SConrad Meyer DUMMY(vmsplice); 83e9b13c66SConrad Meyer /* Linux 2.6.18: */ 84e9b13c66SConrad Meyer DUMMY(move_pages); 85e9b13c66SConrad Meyer /* Linux 2.6.27: */ 86e9b13c66SConrad Meyer DUMMY(signalfd4); 87e9b13c66SConrad Meyer /* Linux 2.6.31: */ 88e9b13c66SConrad Meyer DUMMY(perf_event_open); 89e9b13c66SConrad Meyer /* Linux 2.6.36: */ 90e9b13c66SConrad Meyer DUMMY(fanotify_init); 91e9b13c66SConrad Meyer DUMMY(fanotify_mark); 92e9b13c66SConrad Meyer /* Linux 2.6.39: */ 93e9b13c66SConrad Meyer DUMMY(clock_adjtime); 94e9b13c66SConrad Meyer /* Linux 3.0: */ 95e9b13c66SConrad Meyer DUMMY(setns); 96e9b13c66SConrad Meyer /* Linux 3.2: */ 97e9b13c66SConrad Meyer DUMMY(process_vm_readv); 98e9b13c66SConrad Meyer DUMMY(process_vm_writev); 99e9b13c66SConrad Meyer /* Linux 3.5: */ 100e9b13c66SConrad Meyer DUMMY(kcmp); 101e9b13c66SConrad Meyer /* Linux 3.8: */ 102e9b13c66SConrad Meyer DUMMY(finit_module); 103e9b13c66SConrad Meyer DUMMY(sched_setattr); 104e9b13c66SConrad Meyer DUMMY(sched_getattr); 105e9b13c66SConrad Meyer /* Linux 3.18: */ 106e9b13c66SConrad Meyer DUMMY(bpf); 107e9b13c66SConrad Meyer /* Linux 3.19: */ 108e9b13c66SConrad Meyer DUMMY(execveat); 109e9b13c66SConrad Meyer /* Linux 4.2: */ 110e9b13c66SConrad Meyer DUMMY(userfaultfd); 111e9b13c66SConrad Meyer /* Linux 4.3: */ 112e9b13c66SConrad Meyer DUMMY(membarrier); 113e9b13c66SConrad Meyer /* Linux 4.4: */ 114e9b13c66SConrad Meyer DUMMY(mlock2); 115e9b13c66SConrad Meyer /* Linux 4.6: */ 116e9b13c66SConrad Meyer DUMMY(preadv2); 117e9b13c66SConrad Meyer DUMMY(pwritev2); 118e9b13c66SConrad Meyer /* Linux 4.8: */ 119e9b13c66SConrad Meyer DUMMY(pkey_mprotect); 120e9b13c66SConrad Meyer DUMMY(pkey_alloc); 121e9b13c66SConrad Meyer DUMMY(pkey_free); 122*0a16d3d1SDmitry Chagin /* Linux 4.18: */ 123*0a16d3d1SDmitry Chagin DUMMY(io_pgetevents); 124*0a16d3d1SDmitry Chagin /* Linux 5.1: */ 125*0a16d3d1SDmitry Chagin DUMMY(pidfd_send_signal); 126*0a16d3d1SDmitry Chagin DUMMY(io_uring_setup); 127*0a16d3d1SDmitry Chagin DUMMY(io_uring_enter); 128*0a16d3d1SDmitry Chagin DUMMY(io_uring_register); 129*0a16d3d1SDmitry Chagin /* Linux 5.2: */ 1306d926e85SEdward Tomasz Napierala DUMMY(open_tree); 1316d926e85SEdward Tomasz Napierala DUMMY(move_mount); 1326d926e85SEdward Tomasz Napierala DUMMY(fsopen); 1336d926e85SEdward Tomasz Napierala DUMMY(fsconfig); 1346d926e85SEdward Tomasz Napierala DUMMY(fsmount); 1356d926e85SEdward Tomasz Napierala DUMMY(fspick); 136*0a16d3d1SDmitry Chagin /* Linux 5.3: */ 1376d926e85SEdward Tomasz Napierala DUMMY(pidfd_open); 138*0a16d3d1SDmitry Chagin /* Linux 5.6: */ 1396d926e85SEdward Tomasz Napierala DUMMY(openat2); 1406d926e85SEdward Tomasz Napierala DUMMY(pidfd_getfd); 141*0a16d3d1SDmitry Chagin /* Linux 5.10: */ 1426d926e85SEdward Tomasz Napierala DUMMY(process_madvise); 143*0a16d3d1SDmitry Chagin /* Linux 5.12: */ 1446d926e85SEdward Tomasz Napierala DUMMY(mount_setattr); 145*0a16d3d1SDmitry Chagin /* Linux 5.13: */ 146*0a16d3d1SDmitry Chagin DUMMY(landlock_create_ruleset); 147*0a16d3d1SDmitry Chagin DUMMY(landlock_add_rule); 148*0a16d3d1SDmitry Chagin DUMMY(landlock_restrict_self); 149*0a16d3d1SDmitry Chagin /* Linux 5.14: */ 150*0a16d3d1SDmitry Chagin DUMMY(memfd_secret); 151*0a16d3d1SDmitry Chagin DUMMY(quotactl_fd); 152*0a16d3d1SDmitry Chagin /* Linux 5.15: */ 153*0a16d3d1SDmitry Chagin DUMMY(process_mrelease); 154*0a16d3d1SDmitry Chagin /* Linux 5.16: */ 155*0a16d3d1SDmitry Chagin DUMMY(futex_waitv); 156*0a16d3d1SDmitry Chagin DUMMY(set_mempolicy_home_node); 157*0a16d3d1SDmitry Chagin /* Linux 6.5: */ 158*0a16d3d1SDmitry Chagin DUMMY(cachestat); 159*0a16d3d1SDmitry Chagin /* Linux 6.6: */ 160*0a16d3d1SDmitry Chagin DUMMY(fchmodat2); 161