/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM syscall_check #define TRACE_INCLUDE_PATH trace/hooks #if !defined(_TRACE_HOOK_SYSCALL_CHECK_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_HOOK_SYSCALL_CHECK_H #include #include /* * Following tracepoints are not exported in tracefs and provide a * mechanism for vendor modules to hook and extend functionality */ #ifdef __GENKSYMS__ struct file; union bpf_attr; #else /* struct file */ #include /* union bpf_attr */ #include #endif /* __GENKSYMS__ */ DECLARE_HOOK(android_vh_check_mmap_file, TP_PROTO(const struct file *file, unsigned long prot, unsigned long flag, unsigned long ret), TP_ARGS(file, prot, flag, ret)); DECLARE_HOOK(android_vh_check_file_open, TP_PROTO(const struct file *file), TP_ARGS(file)); DECLARE_HOOK(android_vh_check_bpf_syscall, TP_PROTO(int cmd, const union bpf_attr *attr, unsigned int size), TP_ARGS(cmd, attr, size)); #endif /* _TRACE_HOOK_SYSCALL_CHECK_H */ /* This part must be outside protection */ #include