1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM avc 4 5 #define TRACE_INCLUDE_PATH trace/hooks 6 #if !defined(_TRACE_HOOK_AVC_H) || defined(TRACE_HEADER_MULTI_READ) 7 #define _TRACE_HOOK_AVC_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 struct avc_node; 15 DECLARE_HOOK(android_vh_selinux_avc_insert, 16 TP_PROTO(const struct avc_node *node), 17 TP_ARGS(node)); 18 19 DECLARE_HOOK(android_vh_selinux_avc_node_delete, 20 TP_PROTO(const struct avc_node *node), 21 TP_ARGS(node)); 22 23 DECLARE_HOOK(android_vh_selinux_avc_node_replace, 24 TP_PROTO(const struct avc_node *old, const struct avc_node *new), 25 TP_ARGS(old, new)); 26 27 DECLARE_HOOK(android_vh_selinux_avc_lookup, 28 TP_PROTO(const struct avc_node *node, u32 ssid, u32 tsid, u16 tclass), 29 TP_ARGS(node, ssid, tsid, tclass)); 30 31 #endif /* _TRACE_HOOK_AVC_H */ 32 /* This part must be outside protection */ 33 #include <trace/define_trace.h> 34