/*-1* SPDX-License-Identifier: BSD-2-Clause2*3* Copyright (c) 2013 Dmitry Chagin <[email protected]>4*5* Redistribution and use in source and binary forms, with or without6* modification, are permitted provided that the following conditions7* are met:8* 1. Redistributions of source code must retain the above copyright9* notice, this list of conditions and the following disclaimer.10* 2. Redistributions in binary form must reproduce the above copyright11* notice, this list of conditions and the following disclaimer in the12* documentation and/or other materials provided with the distribution.13*14* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND15* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE16* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE17* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE18* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL19* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS20* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)21* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT22* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY23* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF24* SUCH DAMAGE.25*/2627#include <sys/param.h>28#include <sys/systm.h>29#include <sys/sdt.h>30#include <sys/proc.h>3132/*33* Including linux vs linux32 here is arbitrary -- the syscall args structures34* (proto.h) are not dereferenced by the DUMMY stub implementations, and35* suitable for use by both native and compat32 entrypoints.36*/37#include <machine/../linux/linux.h>38#include <machine/../linux/linux_proto.h>3940#include <compat/linux/linux_dtrace.h>41#include <compat/linux/linux_util.h>4243/* DTrace init */44LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE);4546UNIMPLEMENTED(afs_syscall);47UNIMPLEMENTED(create_module); /* Added in Linux 1.0 removed in 2.6. */48UNIMPLEMENTED(epoll_ctl_old);49UNIMPLEMENTED(epoll_wait_old);50UNIMPLEMENTED(get_kernel_syms); /* Added in Linux 1.0 removed in 2.6. */51UNIMPLEMENTED(getpmsg);52UNIMPLEMENTED(nfsservctl); /* Added in Linux 2.2 removed in 3.1. */53UNIMPLEMENTED(putpmsg);54UNIMPLEMENTED(query_module); /* Added in Linux 2.2 removed in 2.6. */55UNIMPLEMENTED(security);56UNIMPLEMENTED(vserver);5758DUMMY(setfsuid);59DUMMY(setfsgid);60DUMMY(vhangup);61DUMMY(pivot_root);62DUMMY(adjtimex);63DUMMY(swapoff);64DUMMY(init_module);65DUMMY(delete_module);66DUMMY(lookup_dcookie);67DUMMY(remap_file_pages);68DUMMY(mbind);69DUMMY(get_mempolicy);70DUMMY(set_mempolicy);71DUMMY(kexec_load);72/* Linux 2.6.11: */73DUMMY(add_key);74DUMMY(request_key);75DUMMY(keyctl);76/* Linux 2.6.16: */77DUMMY(migrate_pages);78DUMMY(unshare);79/* Linux 2.6.17: */80DUMMY(tee);81DUMMY(vmsplice);82/* Linux 2.6.18: */83DUMMY(move_pages);84/* Linux 2.6.27: */85DUMMY(signalfd4);86/* Linux 2.6.31: */87DUMMY(perf_event_open);88/* Linux 2.6.36: */89DUMMY(fanotify_init);90DUMMY(fanotify_mark);91/* Linux 2.6.39: */92DUMMY(clock_adjtime);93/* Linux 3.0: */94DUMMY(setns);95/* Linux 3.2: */96DUMMY(process_vm_readv);97DUMMY(process_vm_writev);98/* Linux 3.5: */99DUMMY(kcmp);100/* Linux 3.8: */101DUMMY(finit_module);102DUMMY(sched_setattr);103DUMMY(sched_getattr);104/* Linux 3.18: */105DUMMY(bpf);106/* Linux 3.19: */107DUMMY(execveat);108/* Linux 4.2: */109DUMMY(userfaultfd);110/* Linux 4.3: */111DUMMY(membarrier);112/* Linux 4.4: */113DUMMY(mlock2);114/* Linux 4.6: */115DUMMY(preadv2);116DUMMY(pwritev2);117/* Linux 4.8: */118DUMMY(pkey_mprotect);119DUMMY(pkey_alloc);120DUMMY(pkey_free);121/* Linux 4.18: */122DUMMY(io_pgetevents);123/* Linux 5.1: */124DUMMY(pidfd_send_signal);125DUMMY(io_uring_setup);126DUMMY(io_uring_enter);127DUMMY(io_uring_register);128/* Linux 5.2: */129DUMMY(open_tree);130DUMMY(move_mount);131DUMMY(fsopen);132DUMMY(fsconfig);133DUMMY(fsmount);134DUMMY(fspick);135/* Linux 5.3: */136DUMMY(pidfd_open);137/* Linux 5.6: */138DUMMY(openat2);139DUMMY(pidfd_getfd);140/* Linux 5.10: */141DUMMY(process_madvise);142/* Linux 5.12: */143DUMMY(mount_setattr);144/* Linux 5.13: */145DUMMY(landlock_create_ruleset);146DUMMY(landlock_add_rule);147DUMMY(landlock_restrict_self);148/* Linux 5.14: */149DUMMY(memfd_secret);150DUMMY(quotactl_fd);151/* Linux 5.15: */152DUMMY(process_mrelease);153/* Linux 5.16: */154DUMMY(futex_waitv);155DUMMY(set_mempolicy_home_node);156/* Linux 6.5: */157DUMMY(cachestat);158/* Linux 6.6: */159DUMMY(fchmodat2);160161162