#include <linux/sched.h>
#include <linux/prctl.h>
#include <linux/ptrace.h>
#include <linux/syscall_user_dispatch.h>
#include <linux/uaccess.h>
#include <linux/signal.h>
#include <linux/elf.h>
#include <linux/sched/signal.h>
#include <linux/sched/task_stack.h>
#include <asm/syscall.h>
#include "common.h"
static void trigger_sigsys(struct pt_regs *regs)
{ … }
bool syscall_user_dispatch(struct pt_regs *regs)
{ … }
static int task_set_syscall_user_dispatch(struct task_struct *task, unsigned long mode,
unsigned long offset, unsigned long len,
char __user *selector)
{ … }
int set_syscall_user_dispatch(unsigned long mode, unsigned long offset,
unsigned long len, char __user *selector)
{ … }
int syscall_user_dispatch_get_config(struct task_struct *task, unsigned long size,
void __user *data)
{ … }
int syscall_user_dispatch_set_config(struct task_struct *task, unsigned long size,
void __user *data)
{ … }