• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM madvise
4 #undef TRACE_INCLUDE_PATH
5 #define TRACE_INCLUDE_PATH trace/hooks
6 #if !defined(_TRACE_HOOK_MADVISE_H) || defined(TRACE_HEADER_MULTI_READ)
7 #define _TRACE_HOOK_MADVISE_H
8 #include <trace/hooks/vendor_hooks.h>
9 
10 DECLARE_RESTRICTED_HOOK(android_rvh_process_madvise_bypass,
11 	TP_PROTO(int pidfd, const struct iovec __user *vec, size_t vlen,
12 		int behavior, unsigned int flags, ssize_t *ret, bool *bypass),
13 	TP_ARGS(pidfd, vec, vlen, behavior, flags, ret, bypass), 1);
14 DECLARE_HOOK(android_vh_madvise_pageout_return_error,
15 	TP_PROTO(int ret, bool *return_error),
16 	TP_ARGS(ret, return_error));
17 DECLARE_HOOK(android_vh_process_madvise_return_error,
18 	TP_PROTO(int behavior, int ret,  bool *return_error),
19 	TP_ARGS(behavior, ret, return_error));
20 DECLARE_HOOK(android_vh_madvise_pageout_bypass,
21 	TP_PROTO(struct mm_struct *mm, bool pageout, int *ret),
22 	TP_ARGS(mm, pageout, ret));
23 DECLARE_HOOK(android_vh_mm_do_madvise_bypass,
24 	TP_PROTO(struct mm_struct *mm, unsigned long start, size_t len,
25 		 int behavior, int *error, bool *bypass),
26 	TP_ARGS(mm, start, len, behavior, error, bypass));
27 
28 #endif
29 
30 #include <trace/define_trace.h>
31