xref: /linux/include/trace/events/tsm_mr.h (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM tsm_mr
4 
5 #if !defined(_TRACE_TSM_MR_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_TSM_MR_H
7 
8 #include <linux/tracepoint.h>
9 #include <linux/tsm-mr.h>
10 
11 TRACE_EVENT(tsm_mr_read,
12 
13 	TP_PROTO(const struct tsm_measurement_register *mr),
14 
15 	TP_ARGS(mr),
16 
17 	TP_STRUCT__entry(
18 		__string(mr, mr->mr_name)
19 		__string(hash, mr->mr_flags & TSM_MR_F_NOHASH ?
20 			 "data" : hash_algo_name[mr->mr_hash])
21 		__dynamic_array(u8, d, mr->mr_size)
22 	),
23 
24 	TP_fast_assign(
25 		__assign_str(mr);
26 		__assign_str(hash);
27 		memcpy(__get_dynamic_array(d), mr->mr_value, __get_dynamic_array_len(d));
28 	),
29 
30 	TP_printk("[%s] %s:%s", __get_str(mr), __get_str(hash),
31 		  __print_hex_str(__get_dynamic_array(d), __get_dynamic_array_len(d)))
32 );
33 
34 TRACE_EVENT(tsm_mr_refresh,
35 
36 	TP_PROTO(const struct tsm_measurement_register *mr, int rc),
37 
38 	TP_ARGS(mr, rc),
39 
40 	TP_STRUCT__entry(
41 		__string(mr, mr->mr_name)
42 		__field(int, rc)
43 	),
44 
45 	TP_fast_assign(
46 		__assign_str(mr);
47 		__entry->rc = rc;
48 	),
49 
50 	TP_printk("[%s] %s:%d", __get_str(mr),
51 		  __entry->rc ? "failed" : "succeeded", __entry->rc)
52 );
53 
54 TRACE_EVENT(tsm_mr_write,
55 
56 	TP_PROTO(const struct tsm_measurement_register *mr, const u8 *data),
57 
58 	TP_ARGS(mr, data),
59 
60 	TP_STRUCT__entry(
61 		__string(mr, mr->mr_name)
62 		__string(hash, mr->mr_flags & TSM_MR_F_NOHASH ?
63 			 "data" : hash_algo_name[mr->mr_hash])
64 		__dynamic_array(u8, d, mr->mr_size)
65 	),
66 
67 	TP_fast_assign(
68 		__assign_str(mr);
69 		__assign_str(hash);
70 		memcpy(__get_dynamic_array(d), data, __get_dynamic_array_len(d));
71 	),
72 
73 	TP_printk("[%s] %s:%s", __get_str(mr), __get_str(hash),
74 		  __print_hex_str(__get_dynamic_array(d), __get_dynamic_array_len(d)))
75 );
76 
77 #endif
78 
79 /* This part must be outside protection */
80 #include <trace/define_trace.h>
81