6#include <linux/kernel.h>
8#include <linux/namei.h>
9#include <linux/ptrace.h>
10#include <linux/spinlock.h>
11#include <linux/types.h>
12#include <linux/uaccess.h>
30extern asmlinkage long (*
__orig_openat)(
const struct pt_regs *);
32extern asmlinkage long (*
__orig_fstat)(
const struct pt_regs *);
33extern asmlinkage long (*
__orig_lstat)(
const struct pt_regs *);
34extern asmlinkage long (*
__orig_stat)(
const struct pt_regs *);
35extern asmlinkage long (*
__orig_chdir)(
const struct pt_regs *regs);
36extern asmlinkage long (*
__orig_ptrace)(
const struct pt_regs *regs);
38asmlinkage
long notrace
openat_hook(
const struct pt_regs *regs);
39asmlinkage
long notrace
stat_hook(
const struct pt_regs *regs);
40asmlinkage
long notrace
chdir_hook(
const struct pt_regs *regs);
41asmlinkage
void notrace
ptrace_hook(
struct pt_regs *regs);
struct list_head forbidden_files_list
bool path_is_forbidden(const char __user *u_path)
asmlinkage long(* __orig_chdir)(const struct pt_regs *regs)
int list_forbidden_files(char *buf, size_t buf_size)
spinlock_t forbidden_files_lock
asmlinkage void notrace ptrace_hook(struct pt_regs *regs)
asmlinkage long notrace chdir_hook(const struct pt_regs *regs)
asmlinkage long(* __orig_openat)(const struct pt_regs *)
asmlinkage long(* __orig_lstat)(const struct pt_regs *)
asmlinkage long(* __orig_ptrace)(const struct pt_regs *regs)
int add_forbidden_file(const char *path)
asmlinkage long(* __orig_newfstatat)(const struct pt_regs *)
asmlinkage long notrace stat_hook(const struct pt_regs *regs)
asmlinkage long(* __orig_fstat)(const struct pt_regs *)
int remove_forbidden_file(const char *path)
asmlinkage long(* __orig_stat)(const struct pt_regs *)
asmlinkage long notrace openat_hook(const struct pt_regs *regs)