1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Authors: Thiébaud Weksteen <tweek@google.com> 4 * Peter Enderborg <Peter.Enderborg@sony.com> 5 */ 6 #undef TRACE_SYSTEM 7 #define TRACE_SYSTEM avc 8 9 #if !defined(_TRACE_SELINUX_H) || defined(TRACE_HEADER_MULTI_READ) 10 #define _TRACE_SELINUX_H 11 12 #include <linux/tracepoint.h> 13 14 TRACE_EVENT(selinux_audited, 15 16 TP_PROTO(struct selinux_audit_data *sad, 17 char *scontext, 18 char *tcontext, 19 const char *tclass 20 ), 21 22 TP_ARGS(sad, scontext, tcontext, tclass), 23 24 TP_STRUCT__entry( 25 __field(u32, requested) 26 __field(u32, denied) 27 __field(u32, audited) 28 __field(int, result) 29 __string(scontext, scontext) 30 __string(tcontext, tcontext) 31 __string(tclass, tclass) 32 ), 33 34 TP_fast_assign( 35 __entry->requested = sad->requested; 36 __entry->denied = sad->denied; 37 __entry->audited = sad->audited; 38 __entry->result = sad->result; 39 __assign_str(tcontext); 40 __assign_str(scontext); 41 __assign_str(tclass); 42 ), 43 44 TP_printk("requested=0x%x denied=0x%x audited=0x%x result=%d scontext=%s tcontext=%s tclass=%s", 45 __entry->requested, __entry->denied, __entry->audited, __entry->result, 46 __get_str(scontext), __get_str(tcontext), __get_str(tclass) 47 ) 48 ); 49 50 #endif 51 52 /* This part must be outside protection */ 53 #include <trace/define_trace.h> 54