security: add ioctl specific auditing to lsm_audit
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / met_ftrace_bio.h
CommitLineData
6fa3eb70
S
1
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM met_bio
4
5#if !defined(__TRACE_MET_FTRACE_BIO_H__) || defined(TRACE_HEADER_MULTI_READ)
6#define __TRACE_MET_FTRACE_BIO_H__
7
8#include <linux/tracepoint.h>
9
10#include <linux/met_drv.h>
11#include <linux/mmc/host.h>
12
13DECLARE_EVENT_CLASS(met_mmc_async_req_template,
14 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
15
16 TP_ARGS(md, areq, type),
17
18 TP_STRUCT__entry(
19 __field(int, major)
20 __field(int, minor)
21 __array(char, lba_dir, 2)
22 __field(unsigned int, start_lba)
23 __field(unsigned int, lba_len)
24 __array(char, comm, TASK_COMM_LEN)
25 ),
26
27 TP_fast_assign(
28 memset(__entry->lba_dir, 0, sizeof(__entry->lba_dir));
29 __entry->major = md->disk->major;
30 __entry->minor = md->disk->first_minor;
31 memcpy(__entry->lba_dir, &type, sizeof(char));
32 __entry->start_lba = areq->mrq->cmd->arg;
33 __entry->lba_len = areq->mrq->data->blocks;
34 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
35 ),
36
37 TP_printk("%d,%d %s %d + %d [%s]",
38 __entry->major, __entry->minor, __entry->lba_dir,
39 __entry->start_lba, __entry->lba_len, __entry->comm)
40);
41
42DECLARE_EVENT_CLASS(met_mmc_dma_async_req_template,
43 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type, unsigned int bd_num),
44
45 TP_ARGS(md, areq, type, bd_num),
46
47 TP_STRUCT__entry(
48 __field(int, major)
49 __field(int, minor)
50 __array(char, lba_dir, 2)
51 __field(unsigned int, start_lba)
52 __field(unsigned int, lba_len)
53 __field(unsigned int, bdnum)
54 __array(char, comm, TASK_COMM_LEN)
55 ),
56
57 TP_fast_assign(
58 memset(__entry->lba_dir, 0, sizeof(__entry->lba_dir));
59 __entry->major = md->disk->major;
60 __entry->minor = md->disk->first_minor;
61 memcpy(__entry->lba_dir, &type, sizeof(char));
62 __entry->start_lba = areq->mrq->cmd->arg;
63 __entry->lba_len = areq->mrq->data->blocks;
64 __entry->bdnum = bd_num;
65 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
66 ),
67
68 TP_printk("%d,%d %s %d %d + %d [%s]",
69 __entry->major, __entry->minor, __entry->lba_dir, __entry->bdnum,
70 __entry->start_lba, __entry->lba_len, __entry->comm)
71);
72
73DECLARE_EVENT_CLASS(met_mmc_req_template,
74 TP_PROTO(struct mmc_blk_data *md, struct mmc_request *req, char type),
75
76 TP_ARGS(md, req, type),
77
78 TP_STRUCT__entry(
79 __field(int, major)
80 __field(int, minor)
81 __array(char, lba_dir, 2)
82 __field(unsigned int, start_lba)
83 __field(unsigned int, lba_len)
84 __array(char, comm, TASK_COMM_LEN)
85 ),
86
87 TP_fast_assign(
88 memset(__entry->lba_dir, 0, sizeof(__entry->lba_dir));
89 __entry->major = md->disk->major;
90 __entry->minor = md->disk->first_minor;
91 memcpy(__entry->lba_dir, &type, sizeof(char));
92 __entry->start_lba = req->cmd->arg;
93 __entry->lba_len = req->data->blocks;
94 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
95 ),
96
97 TP_printk("%d,%d %s %d + %d [%s]",
98 __entry->major, __entry->minor, __entry->lba_dir,
99 __entry->start_lba, __entry->lba_len, __entry->comm)
100);
101
102#if 0
103DECLARE_EVENT_CLASS(met_mmc_dma_req_template,
104 TP_PROTO(struct mmc_blk_data *md, struct mmc_request *req, char type, unsigned int bd_num),
105
106 TP_ARGS(md, req, type, bd_num),
107
108 TP_STRUCT__entry(
109 __field(int, major)
110 __field(int, minor)
111 __array(char, lba_dir, 2)
112 __field(unsigned int, start_lba)
113 __field(unsigned int, lba_len)
114 __field(unsigned int, bdnum)
115 __array(char, comm, TASK_COMM_LEN)
116 ),
117
118 TP_fast_assign(
119 memset(__entry->lba_dir, 0, sizeof(__entry->lba_dir));
120 __entry->major = md->disk->major;
121 __entry->minor = md->disk->first_minor;
122 memcpy(__entry->lba_dir, &type, sizeof(char));
123 __entry->start_lba = req->cmd->arg;
124 __entry->lba_len = req->data->blocks;
125 __entry->bdnum = bd_num;
126 memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
127 ),
128
129 TP_printk("%d,%d %s %d %d + %d [%s]",
130 __entry->major, __entry->minor, __entry->lba_dir, __entry->bdnum,
131 __entry->start_lba, __entry->lba_len, __entry->comm)
132);
133#endif
134
135/*
136 * Tracepoint for met_mmc_insert
137 */
138DEFINE_EVENT(met_mmc_async_req_template, met_mmc_insert,
139 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
140 TP_ARGS(md, areq, type));
141
142/*
143 * Tracepoint for met_mmc_dma_map
144 */
145DEFINE_EVENT(met_mmc_async_req_template, met_mmc_dma_map,
146 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
147 TP_ARGS(md, areq, type));
148
149#if 0
150/*
151 * Tracepoint for met_mmc_issue
152 */
153DEFINE_EVENT(met_mmc_async_req_template, met_mmc_issue,
154 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
155 TP_ARGS(md, areq, type));
156#endif
157
158/*
159 * Tracepoint for met_mmc_issue
160 */
161DEFINE_EVENT(met_mmc_req_template, met_mmc_issue,
162 TP_PROTO(struct mmc_blk_data *md, struct mmc_request *req, char type),
163 TP_ARGS(md, req, type));
164
165/*
166 * Tracepoint for met_mmc_complete
167 */
168DEFINE_EVENT(met_mmc_async_req_template, met_mmc_complete,
169 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
170 TP_ARGS(md, areq, type));
171
172/*
173 * Tracepoint for met_mmc_dma_unmap_start
174 */
175DEFINE_EVENT(met_mmc_async_req_template, met_mmc_dma_unmap_start,
176 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
177 TP_ARGS(md, areq, type));
178
179/*
180 * Tracepoint for met_mmc_dma_unmap_stop
181 */
182DEFINE_EVENT(met_mmc_async_req_template, met_mmc_dma_unmap_stop,
183 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
184 TP_ARGS(md, areq, type));
185
186/*
187 * Tracepoint for met_mmc_continue_req_end
188 */
189DEFINE_EVENT(met_mmc_async_req_template, met_mmc_continue_req_end,
190 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type),
191 TP_ARGS(md, areq, type));
192
193/*
194 * Tracepoint for met_mmc_dma_stop
195 */
196DEFINE_EVENT(met_mmc_dma_async_req_template, met_mmc_dma_stop,
197 TP_PROTO(struct mmc_blk_data *md, struct mmc_async_req *areq, char type, unsigned int bd_num),
198 TP_ARGS(md, areq, type, bd_num));
199
200#if 0
201/*
202 * Tracepoint for met_testevent
203 */
204TRACE_EVENT(met_testevent,
205
206 TP_PROTO(int cnt),
207
208 TP_ARGS(cnt),
209
210 TP_STRUCT__entry(
211 __field(int, test_cnt)
212 ),
213
214 TP_fast_assign(
215 __entry->test_cnt = cnt;
216 ),
217
218 TP_printk("%d",
219 __entry->test_cnt)
220);
221#endif
222
223#endif /* __TRACE_MET_FTRACE_BIO_H__ */
224
225/* This part must be outside protection */
226#undef TRACE_INCLUDE_PATH
227#undef linux
228#define TRACE_INCLUDE_PATH ../../../include/linux
229#define TRACE_INCLUDE_FILE met_ftrace_bio
230#include <trace/define_trace.h>