/* SPDX-License-Identifier: GPL-2.0 */ #undef TRACE_SYSTEM #define TRACE_SYSTEM madvise #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH trace/hooks #if !defined(_TRACE_HOOK_MADVISE_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_HOOK_MADVISE_H #include DECLARE_RESTRICTED_HOOK(android_rvh_process_madvise_bypass, TP_PROTO(int pidfd, const struct iovec __user *vec, size_t vlen, int behavior, unsigned int flags, ssize_t *ret, bool *bypass), TP_ARGS(pidfd, vec, vlen, behavior, flags, ret, bypass), 1); struct vm_area_struct; DECLARE_HOOK(android_vh_update_vma_flags, TP_PROTO(struct vm_area_struct *vma), TP_ARGS(vma)); DECLARE_HOOK(android_vh_madvise_pageout_return_error, TP_PROTO(int ret, bool *return_error), TP_ARGS(ret, return_error)); DECLARE_HOOK(android_vh_process_madvise_return_error, TP_PROTO(int behavior, int ret, bool *return_error), TP_ARGS(behavior, ret, return_error)); DECLARE_HOOK(android_vh_madvise_pageout_bypass, TP_PROTO(struct mm_struct *mm, bool pageout, int *ret), TP_ARGS(mm, pageout, ret)); #endif #include