1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM creds 4 5 #define TRACE_INCLUDE_PATH trace/hooks 6 #if !defined(_TRACE_HOOK_CREDS_H) || defined(TRACE_HEADER_MULTI_READ) 7 #define _TRACE_HOOK_CREDS_H 8 #include <linux/tracepoint.h> 9 #include <trace/hooks/vendor_hooks.h> 10 /* 11 * Following tracepoints are not exported in tracefs and provide a 12 * mechanism for vendor modules to hook and extend functionality 13 */ 14 #ifdef __GENKSYMS__ 15 struct cred; 16 struct task_struct; 17 #else 18 /* struct cred */ 19 #include <linux/cred.h> 20 /* struct task_struct */ 21 #include <linux/sched.h> 22 #endif /* __GENKSYMS__ */ 23 DECLARE_HOOK(android_vh_commit_creds, 24 TP_PROTO(const struct task_struct *task, const struct cred *new), 25 TP_ARGS(task, new)); 26 27 DECLARE_HOOK(android_vh_exit_creds, 28 TP_PROTO(const struct task_struct *task, const struct cred *cred), 29 TP_ARGS(task, cred)); 30 31 DECLARE_HOOK(android_vh_override_creds, 32 TP_PROTO(const struct task_struct *task, const struct cred *new), 33 TP_ARGS(task, new)); 34 35 DECLARE_HOOK(android_vh_revert_creds, 36 TP_PROTO(const struct task_struct *task, const struct cred *old), 37 TP_ARGS(task, old)); 38 39 #endif /* _TRACE_HOOK_CREDS_H */ 40 /* This part must be outside protection */ 41 #include <trace/define_trace.h> 42