syscall
for (j = 0; allowed_syscalls[j].syscall != -1; j++) {
if (allowed_syscalls[j].syscall == i) {
int syscall;
int syscall(int, ...);
#define KERNCALL movq %rcx, %r10; syscall
SYSCALL_MODULE(syscall, &offset, &hello_sysent, load, NULL);
return syscall (syscall_num);
KTR_INFO(KTR_KERNENTRY, kernentry, syscall, 0, "SYSC(pid %d, tid %d, nr %ld)",
extern inthand_t IDTVEC(syscall);
KTR_INFO(KTR_KERNENTRY, kernentry, syscall, 0, "SYSC(pid %hd, tid %hd, nr %ld)",
if (frame->tf_eip == (int)IDTVEC(syscall)) {
if (frame->tf_eip == (int)IDTVEC(syscall) + 1) {
tests[0].syscall = SYS_faccessat;
tests[1].syscall = SYS_fchmodat;
tests[2].syscall = SYS_fchownat;
tests[3].syscall = SYS_fstatat;
tests[4].syscall = SYS_futimesat;
tests[5].syscall = SYS_linkat;
tests[6].syscall = SYS_mkdirat;
tests[7].syscall = SYS_mkfifoat;
tests[8].syscall = SYS_mknodat;
tests[9].syscall = SYS_openat;
tests[10].syscall = SYS_readlinkat;
tests[11].syscall = SYS_renameat;
tests[12].syscall = SYS_symlinkat;
tests[13].syscall = SYS_unlinkat;
int syscall;
tests[14].syscall = SYS_fexecve;
error = syscall(tests[i].syscall,
syscall(num, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
struct syscall *get_syscall(const char*);
struct syscall *
struct syscall *sc = syscalls;
struct syscall syscalls[] = {
struct syscall *sc;
struct syscall *sc;
struct syscall *sc;