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