~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/trace/events/rpcgss.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/trace/events/rpcgss.h (Architecture m68k) and /include/trace/events/rpcgss.h (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*                                                  2 /*
  3  * Copyright (c) 2018 Oracle.  All rights rese      3  * Copyright (c) 2018 Oracle.  All rights reserved.
  4  *                                                  4  *
  5  * Trace point definitions for the "rpcgss" su      5  * Trace point definitions for the "rpcgss" subsystem.
  6  */                                                 6  */
  7                                                     7 
  8 #undef TRACE_SYSTEM                                 8 #undef TRACE_SYSTEM
  9 #define TRACE_SYSTEM rpcgss                         9 #define TRACE_SYSTEM rpcgss
 10                                                    10 
 11 #if !defined(_TRACE_RPCGSS_H) || defined(TRACE     11 #if !defined(_TRACE_RPCGSS_H) || defined(TRACE_HEADER_MULTI_READ)
 12 #define _TRACE_RPCGSS_H                            12 #define _TRACE_RPCGSS_H
 13                                                    13 
 14 #include <linux/tracepoint.h>                      14 #include <linux/tracepoint.h>
 15                                                    15 
 16 #include <trace/misc/sunrpc.h>                     16 #include <trace/misc/sunrpc.h>
 17                                                    17 
 18 /**                                                18 /**
 19  ** GSS-API related trace events                   19  ** GSS-API related trace events
 20  **/                                               20  **/
 21                                                    21 
 22 TRACE_DEFINE_ENUM(RPC_GSS_SVC_NONE);               22 TRACE_DEFINE_ENUM(RPC_GSS_SVC_NONE);
 23 TRACE_DEFINE_ENUM(RPC_GSS_SVC_INTEGRITY);          23 TRACE_DEFINE_ENUM(RPC_GSS_SVC_INTEGRITY);
 24 TRACE_DEFINE_ENUM(RPC_GSS_SVC_PRIVACY);            24 TRACE_DEFINE_ENUM(RPC_GSS_SVC_PRIVACY);
 25                                                    25 
 26 #define show_gss_service(x)                        26 #define show_gss_service(x)                                             \
 27         __print_symbolic(x,                        27         __print_symbolic(x,                                             \
 28                 { RPC_GSS_SVC_NONE,                28                 { RPC_GSS_SVC_NONE,             "none" },               \
 29                 { RPC_GSS_SVC_INTEGRITY,           29                 { RPC_GSS_SVC_INTEGRITY,        "integrity" },          \
 30                 { RPC_GSS_SVC_PRIVACY,             30                 { RPC_GSS_SVC_PRIVACY,          "privacy" })
 31                                                    31 
 32 TRACE_DEFINE_ENUM(GSS_S_BAD_MECH);                 32 TRACE_DEFINE_ENUM(GSS_S_BAD_MECH);
 33 TRACE_DEFINE_ENUM(GSS_S_BAD_NAME);                 33 TRACE_DEFINE_ENUM(GSS_S_BAD_NAME);
 34 TRACE_DEFINE_ENUM(GSS_S_BAD_NAMETYPE);             34 TRACE_DEFINE_ENUM(GSS_S_BAD_NAMETYPE);
 35 TRACE_DEFINE_ENUM(GSS_S_BAD_BINDINGS);             35 TRACE_DEFINE_ENUM(GSS_S_BAD_BINDINGS);
 36 TRACE_DEFINE_ENUM(GSS_S_BAD_STATUS);               36 TRACE_DEFINE_ENUM(GSS_S_BAD_STATUS);
 37 TRACE_DEFINE_ENUM(GSS_S_BAD_SIG);                  37 TRACE_DEFINE_ENUM(GSS_S_BAD_SIG);
 38 TRACE_DEFINE_ENUM(GSS_S_NO_CRED);                  38 TRACE_DEFINE_ENUM(GSS_S_NO_CRED);
 39 TRACE_DEFINE_ENUM(GSS_S_NO_CONTEXT);               39 TRACE_DEFINE_ENUM(GSS_S_NO_CONTEXT);
 40 TRACE_DEFINE_ENUM(GSS_S_DEFECTIVE_TOKEN);          40 TRACE_DEFINE_ENUM(GSS_S_DEFECTIVE_TOKEN);
 41 TRACE_DEFINE_ENUM(GSS_S_DEFECTIVE_CREDENTIAL);     41 TRACE_DEFINE_ENUM(GSS_S_DEFECTIVE_CREDENTIAL);
 42 TRACE_DEFINE_ENUM(GSS_S_CREDENTIALS_EXPIRED);      42 TRACE_DEFINE_ENUM(GSS_S_CREDENTIALS_EXPIRED);
 43 TRACE_DEFINE_ENUM(GSS_S_CONTEXT_EXPIRED);          43 TRACE_DEFINE_ENUM(GSS_S_CONTEXT_EXPIRED);
 44 TRACE_DEFINE_ENUM(GSS_S_FAILURE);                  44 TRACE_DEFINE_ENUM(GSS_S_FAILURE);
 45 TRACE_DEFINE_ENUM(GSS_S_BAD_QOP);                  45 TRACE_DEFINE_ENUM(GSS_S_BAD_QOP);
 46 TRACE_DEFINE_ENUM(GSS_S_UNAUTHORIZED);             46 TRACE_DEFINE_ENUM(GSS_S_UNAUTHORIZED);
 47 TRACE_DEFINE_ENUM(GSS_S_UNAVAILABLE);              47 TRACE_DEFINE_ENUM(GSS_S_UNAVAILABLE);
 48 TRACE_DEFINE_ENUM(GSS_S_DUPLICATE_ELEMENT);        48 TRACE_DEFINE_ENUM(GSS_S_DUPLICATE_ELEMENT);
 49 TRACE_DEFINE_ENUM(GSS_S_NAME_NOT_MN);              49 TRACE_DEFINE_ENUM(GSS_S_NAME_NOT_MN);
 50 TRACE_DEFINE_ENUM(GSS_S_CONTINUE_NEEDED);          50 TRACE_DEFINE_ENUM(GSS_S_CONTINUE_NEEDED);
 51 TRACE_DEFINE_ENUM(GSS_S_DUPLICATE_TOKEN);          51 TRACE_DEFINE_ENUM(GSS_S_DUPLICATE_TOKEN);
 52 TRACE_DEFINE_ENUM(GSS_S_OLD_TOKEN);                52 TRACE_DEFINE_ENUM(GSS_S_OLD_TOKEN);
 53 TRACE_DEFINE_ENUM(GSS_S_UNSEQ_TOKEN);              53 TRACE_DEFINE_ENUM(GSS_S_UNSEQ_TOKEN);
 54 TRACE_DEFINE_ENUM(GSS_S_GAP_TOKEN);                54 TRACE_DEFINE_ENUM(GSS_S_GAP_TOKEN);
 55                                                    55 
 56 #define show_gss_status(x)                         56 #define show_gss_status(x)                                              \
 57         __print_symbolic(x,                        57         __print_symbolic(x,                                             \
 58                 { GSS_S_BAD_MECH, "GSS_S_BAD_M     58                 { GSS_S_BAD_MECH, "GSS_S_BAD_MECH" },                   \
 59                 { GSS_S_BAD_NAME, "GSS_S_BAD_N     59                 { GSS_S_BAD_NAME, "GSS_S_BAD_NAME" },                   \
 60                 { GSS_S_BAD_NAMETYPE, "GSS_S_B     60                 { GSS_S_BAD_NAMETYPE, "GSS_S_BAD_NAMETYPE" },           \
 61                 { GSS_S_BAD_BINDINGS, "GSS_S_B     61                 { GSS_S_BAD_BINDINGS, "GSS_S_BAD_BINDINGS" },           \
 62                 { GSS_S_BAD_STATUS, "GSS_S_BAD     62                 { GSS_S_BAD_STATUS, "GSS_S_BAD_STATUS" },               \
 63                 { GSS_S_BAD_SIG, "GSS_S_BAD_SI     63                 { GSS_S_BAD_SIG, "GSS_S_BAD_SIG" },                     \
 64                 { GSS_S_NO_CRED, "GSS_S_NO_CRE     64                 { GSS_S_NO_CRED, "GSS_S_NO_CRED" },                     \
 65                 { GSS_S_NO_CONTEXT, "GSS_S_NO_     65                 { GSS_S_NO_CONTEXT, "GSS_S_NO_CONTEXT" },               \
 66                 { GSS_S_DEFECTIVE_TOKEN, "GSS_     66                 { GSS_S_DEFECTIVE_TOKEN, "GSS_S_DEFECTIVE_TOKEN" },     \
 67                 { GSS_S_DEFECTIVE_CREDENTIAL,      67                 { GSS_S_DEFECTIVE_CREDENTIAL, "GSS_S_DEFECTIVE_CREDENTIAL" }, \
 68                 { GSS_S_CREDENTIALS_EXPIRED, "     68                 { GSS_S_CREDENTIALS_EXPIRED, "GSS_S_CREDENTIALS_EXPIRED" }, \
 69                 { GSS_S_CONTEXT_EXPIRED, "GSS_     69                 { GSS_S_CONTEXT_EXPIRED, "GSS_S_CONTEXT_EXPIRED" },     \
 70                 { GSS_S_FAILURE, "GSS_S_FAILUR     70                 { GSS_S_FAILURE, "GSS_S_FAILURE" },                     \
 71                 { GSS_S_BAD_QOP, "GSS_S_BAD_QO     71                 { GSS_S_BAD_QOP, "GSS_S_BAD_QOP" },                     \
 72                 { GSS_S_UNAUTHORIZED, "GSS_S_U     72                 { GSS_S_UNAUTHORIZED, "GSS_S_UNAUTHORIZED" },           \
 73                 { GSS_S_UNAVAILABLE, "GSS_S_UN     73                 { GSS_S_UNAVAILABLE, "GSS_S_UNAVAILABLE" },             \
 74                 { GSS_S_DUPLICATE_ELEMENT, "GS     74                 { GSS_S_DUPLICATE_ELEMENT, "GSS_S_DUPLICATE_ELEMENT" }, \
 75                 { GSS_S_NAME_NOT_MN, "GSS_S_NA     75                 { GSS_S_NAME_NOT_MN, "GSS_S_NAME_NOT_MN" },             \
 76                 { GSS_S_CONTINUE_NEEDED, "GSS_     76                 { GSS_S_CONTINUE_NEEDED, "GSS_S_CONTINUE_NEEDED" },     \
 77                 { GSS_S_DUPLICATE_TOKEN, "GSS_     77                 { GSS_S_DUPLICATE_TOKEN, "GSS_S_DUPLICATE_TOKEN" },     \
 78                 { GSS_S_OLD_TOKEN, "GSS_S_OLD_     78                 { GSS_S_OLD_TOKEN, "GSS_S_OLD_TOKEN" },                 \
 79                 { GSS_S_UNSEQ_TOKEN, "GSS_S_UN     79                 { GSS_S_UNSEQ_TOKEN, "GSS_S_UNSEQ_TOKEN" },             \
 80                 { GSS_S_GAP_TOKEN, "GSS_S_GAP_     80                 { GSS_S_GAP_TOKEN, "GSS_S_GAP_TOKEN" })
 81                                                    81 
 82                                                    82 
 83 DECLARE_EVENT_CLASS(rpcgss_gssapi_event,           83 DECLARE_EVENT_CLASS(rpcgss_gssapi_event,
 84         TP_PROTO(                                  84         TP_PROTO(
 85                 const struct rpc_task *task,       85                 const struct rpc_task *task,
 86                 u32 maj_stat                       86                 u32 maj_stat
 87         ),                                         87         ),
 88                                                    88 
 89         TP_ARGS(task, maj_stat),                   89         TP_ARGS(task, maj_stat),
 90                                                    90 
 91         TP_STRUCT__entry(                          91         TP_STRUCT__entry(
 92                 __field(unsigned int, task_id)     92                 __field(unsigned int, task_id)
 93                 __field(unsigned int, client_i     93                 __field(unsigned int, client_id)
 94                 __field(u32, maj_stat)             94                 __field(u32, maj_stat)
 95                                                    95 
 96         ),                                         96         ),
 97                                                    97 
 98         TP_fast_assign(                            98         TP_fast_assign(
 99                 __entry->task_id = task->tk_pi     99                 __entry->task_id = task->tk_pid;
100                 __entry->client_id = task->tk_    100                 __entry->client_id = task->tk_client->cl_clid;
101                 __entry->maj_stat = maj_stat;     101                 __entry->maj_stat = maj_stat;
102         ),                                        102         ),
103                                                   103 
104         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER     104         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " maj_stat=%s",
105                 __entry->task_id, __entry->cli    105                 __entry->task_id, __entry->client_id,
106                 __entry->maj_stat == 0 ?          106                 __entry->maj_stat == 0 ?
107                 "GSS_S_COMPLETE" : show_gss_st    107                 "GSS_S_COMPLETE" : show_gss_status(__entry->maj_stat))
108 );                                                108 );
109                                                   109 
110 #define DEFINE_GSSAPI_EVENT(name)                 110 #define DEFINE_GSSAPI_EVENT(name)                                       \
111         DEFINE_EVENT(rpcgss_gssapi_event, rpcg    111         DEFINE_EVENT(rpcgss_gssapi_event, rpcgss_##name,                \
112                         TP_PROTO(                 112                         TP_PROTO(                                       \
113                                 const struct r    113                                 const struct rpc_task *task,            \
114                                 u32 maj_stat      114                                 u32 maj_stat                            \
115                         ),                        115                         ),                                              \
116                         TP_ARGS(task, maj_stat    116                         TP_ARGS(task, maj_stat))
117                                                   117 
118 TRACE_EVENT(rpcgss_import_ctx,                    118 TRACE_EVENT(rpcgss_import_ctx,
119         TP_PROTO(                                 119         TP_PROTO(
120                 int status                        120                 int status
121         ),                                        121         ),
122                                                   122 
123         TP_ARGS(status),                          123         TP_ARGS(status),
124                                                   124 
125         TP_STRUCT__entry(                         125         TP_STRUCT__entry(
126                 __field(int, status)              126                 __field(int, status)
127         ),                                        127         ),
128                                                   128 
129         TP_fast_assign(                           129         TP_fast_assign(
130                 __entry->status = status;         130                 __entry->status = status;
131         ),                                        131         ),
132                                                   132 
133         TP_printk("status=%d", __entry->status    133         TP_printk("status=%d", __entry->status)
134 );                                                134 );
135                                                   135 
136 DEFINE_GSSAPI_EVENT(get_mic);                     136 DEFINE_GSSAPI_EVENT(get_mic);
137 DEFINE_GSSAPI_EVENT(verify_mic);                  137 DEFINE_GSSAPI_EVENT(verify_mic);
138 DEFINE_GSSAPI_EVENT(wrap);                        138 DEFINE_GSSAPI_EVENT(wrap);
139 DEFINE_GSSAPI_EVENT(unwrap);                      139 DEFINE_GSSAPI_EVENT(unwrap);
140                                                   140 
141 DECLARE_EVENT_CLASS(rpcgss_ctx_class,             141 DECLARE_EVENT_CLASS(rpcgss_ctx_class,
142         TP_PROTO(                                 142         TP_PROTO(
143                 const struct gss_cred *gc         143                 const struct gss_cred *gc
144         ),                                        144         ),
145                                                   145 
146         TP_ARGS(gc),                              146         TP_ARGS(gc),
147                                                   147 
148         TP_STRUCT__entry(                         148         TP_STRUCT__entry(
149                 __field(const void *, cred)       149                 __field(const void *, cred)
150                 __field(unsigned long, service    150                 __field(unsigned long, service)
151                 __string(principal, gc->gc_pri    151                 __string(principal, gc->gc_principal)
152         ),                                        152         ),
153                                                   153 
154         TP_fast_assign(                           154         TP_fast_assign(
155                 __entry->cred = gc;               155                 __entry->cred = gc;
156                 __entry->service = gc->gc_serv    156                 __entry->service = gc->gc_service;
157                 __assign_str(principal);          157                 __assign_str(principal);
158         ),                                        158         ),
159                                                   159 
160         TP_printk("cred=%p service=%s principa    160         TP_printk("cred=%p service=%s principal='%s'",
161                 __entry->cred, show_gss_servic    161                 __entry->cred, show_gss_service(__entry->service),
162                 __get_str(principal))             162                 __get_str(principal))
163 );                                                163 );
164                                                   164 
165 #define DEFINE_CTX_EVENT(name)                    165 #define DEFINE_CTX_EVENT(name)                                          \
166         DEFINE_EVENT(rpcgss_ctx_class, rpcgss_    166         DEFINE_EVENT(rpcgss_ctx_class, rpcgss_ctx_##name,               \
167                         TP_PROTO(                 167                         TP_PROTO(                                       \
168                                 const struct g    168                                 const struct gss_cred *gc               \
169                         ),                        169                         ),                                              \
170                         TP_ARGS(gc))              170                         TP_ARGS(gc))
171                                                   171 
172 DEFINE_CTX_EVENT(init);                           172 DEFINE_CTX_EVENT(init);
173 DEFINE_CTX_EVENT(destroy);                        173 DEFINE_CTX_EVENT(destroy);
174                                                   174 
175 DECLARE_EVENT_CLASS(rpcgss_svc_gssapi_class,      175 DECLARE_EVENT_CLASS(rpcgss_svc_gssapi_class,
176         TP_PROTO(                                 176         TP_PROTO(
177                 const struct svc_rqst *rqstp,     177                 const struct svc_rqst *rqstp,
178                 u32 maj_stat                      178                 u32 maj_stat
179         ),                                        179         ),
180                                                   180 
181         TP_ARGS(rqstp, maj_stat),                 181         TP_ARGS(rqstp, maj_stat),
182                                                   182 
183         TP_STRUCT__entry(                         183         TP_STRUCT__entry(
184                 __field(u32, xid)                 184                 __field(u32, xid)
185                 __field(u32, maj_stat)            185                 __field(u32, maj_stat)
186                 __string(addr, rqstp->rq_xprt-    186                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
187         ),                                        187         ),
188                                                   188 
189         TP_fast_assign(                           189         TP_fast_assign(
190                 __entry->xid = __be32_to_cpu(r    190                 __entry->xid = __be32_to_cpu(rqstp->rq_xid);
191                 __entry->maj_stat = maj_stat;     191                 __entry->maj_stat = maj_stat;
192                 __assign_str(addr);               192                 __assign_str(addr);
193         ),                                        193         ),
194                                                   194 
195         TP_printk("addr=%s xid=0x%08x maj_stat    195         TP_printk("addr=%s xid=0x%08x maj_stat=%s",
196                 __get_str(addr), __entry->xid,    196                 __get_str(addr), __entry->xid,
197                 __entry->maj_stat == 0 ?          197                 __entry->maj_stat == 0 ?
198                 "GSS_S_COMPLETE" : show_gss_st    198                 "GSS_S_COMPLETE" : show_gss_status(__entry->maj_stat))
199 );                                                199 );
200                                                   200 
201 #define DEFINE_SVC_GSSAPI_EVENT(name)             201 #define DEFINE_SVC_GSSAPI_EVENT(name)                                   \
202         DEFINE_EVENT(rpcgss_svc_gssapi_class,     202         DEFINE_EVENT(rpcgss_svc_gssapi_class, rpcgss_svc_##name,        \
203                         TP_PROTO(                 203                         TP_PROTO(                                       \
204                                 const struct s    204                                 const struct svc_rqst *rqstp,           \
205                                 u32 maj_stat      205                                 u32 maj_stat                            \
206                         ),                        206                         ),                                              \
207                         TP_ARGS(rqstp, maj_sta    207                         TP_ARGS(rqstp, maj_stat))
208                                                   208 
209 DEFINE_SVC_GSSAPI_EVENT(wrap);                    209 DEFINE_SVC_GSSAPI_EVENT(wrap);
210 DEFINE_SVC_GSSAPI_EVENT(unwrap);                  210 DEFINE_SVC_GSSAPI_EVENT(unwrap);
211 DEFINE_SVC_GSSAPI_EVENT(mic);                     211 DEFINE_SVC_GSSAPI_EVENT(mic);
212 DEFINE_SVC_GSSAPI_EVENT(get_mic);                 212 DEFINE_SVC_GSSAPI_EVENT(get_mic);
213                                                   213 
214 TRACE_EVENT(rpcgss_svc_wrap_failed,               214 TRACE_EVENT(rpcgss_svc_wrap_failed,
215         TP_PROTO(                                 215         TP_PROTO(
216                 const struct svc_rqst *rqstp      216                 const struct svc_rqst *rqstp
217         ),                                        217         ),
218                                                   218 
219         TP_ARGS(rqstp),                           219         TP_ARGS(rqstp),
220                                                   220 
221         TP_STRUCT__entry(                         221         TP_STRUCT__entry(
222                 __field(u32, xid)                 222                 __field(u32, xid)
223                 __string(addr, rqstp->rq_xprt-    223                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
224         ),                                        224         ),
225                                                   225 
226         TP_fast_assign(                           226         TP_fast_assign(
227                 __entry->xid = be32_to_cpu(rqs    227                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
228                 __assign_str(addr);               228                 __assign_str(addr);
229         ),                                        229         ),
230                                                   230 
231         TP_printk("addr=%s xid=0x%08x", __get_    231         TP_printk("addr=%s xid=0x%08x", __get_str(addr), __entry->xid)
232 );                                                232 );
233                                                   233 
234 TRACE_EVENT(rpcgss_svc_unwrap_failed,             234 TRACE_EVENT(rpcgss_svc_unwrap_failed,
235         TP_PROTO(                                 235         TP_PROTO(
236                 const struct svc_rqst *rqstp      236                 const struct svc_rqst *rqstp
237         ),                                        237         ),
238                                                   238 
239         TP_ARGS(rqstp),                           239         TP_ARGS(rqstp),
240                                                   240 
241         TP_STRUCT__entry(                         241         TP_STRUCT__entry(
242                 __field(u32, xid)                 242                 __field(u32, xid)
243                 __string(addr, rqstp->rq_xprt-    243                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
244         ),                                        244         ),
245                                                   245 
246         TP_fast_assign(                           246         TP_fast_assign(
247                 __entry->xid = be32_to_cpu(rqs    247                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
248                 __assign_str(addr);               248                 __assign_str(addr);
249         ),                                        249         ),
250                                                   250 
251         TP_printk("addr=%s xid=0x%08x", __get_    251         TP_printk("addr=%s xid=0x%08x", __get_str(addr), __entry->xid)
252 );                                                252 );
253                                                   253 
254 TRACE_EVENT(rpcgss_svc_seqno_bad,                 254 TRACE_EVENT(rpcgss_svc_seqno_bad,
255         TP_PROTO(                                 255         TP_PROTO(
256                 const struct svc_rqst *rqstp,     256                 const struct svc_rqst *rqstp,
257                 u32 expected,                     257                 u32 expected,
258                 u32 received                      258                 u32 received
259         ),                                        259         ),
260                                                   260 
261         TP_ARGS(rqstp, expected, received),       261         TP_ARGS(rqstp, expected, received),
262                                                   262 
263         TP_STRUCT__entry(                         263         TP_STRUCT__entry(
264                 __field(u32, expected)            264                 __field(u32, expected)
265                 __field(u32, received)            265                 __field(u32, received)
266                 __field(u32, xid)                 266                 __field(u32, xid)
267                 __string(addr, rqstp->rq_xprt-    267                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
268         ),                                        268         ),
269                                                   269 
270         TP_fast_assign(                           270         TP_fast_assign(
271                 __entry->expected = expected;     271                 __entry->expected = expected;
272                 __entry->received = received;     272                 __entry->received = received;
273                 __entry->xid = __be32_to_cpu(r    273                 __entry->xid = __be32_to_cpu(rqstp->rq_xid);
274                 __assign_str(addr);               274                 __assign_str(addr);
275         ),                                        275         ),
276                                                   276 
277         TP_printk("addr=%s xid=0x%08x expected    277         TP_printk("addr=%s xid=0x%08x expected seqno %u, received seqno %u",
278                 __get_str(addr), __entry->xid,    278                 __get_str(addr), __entry->xid,
279                 __entry->expected, __entry->re    279                 __entry->expected, __entry->received)
280 );                                                280 );
281                                                   281 
282 TRACE_EVENT(rpcgss_svc_accept_upcall,             282 TRACE_EVENT(rpcgss_svc_accept_upcall,
283         TP_PROTO(                                 283         TP_PROTO(
284                 const struct svc_rqst *rqstp,     284                 const struct svc_rqst *rqstp,
285                 u32 major_status,                 285                 u32 major_status,
286                 u32 minor_status                  286                 u32 minor_status
287         ),                                        287         ),
288                                                   288 
289         TP_ARGS(rqstp, major_status, minor_sta    289         TP_ARGS(rqstp, major_status, minor_status),
290                                                   290 
291         TP_STRUCT__entry(                         291         TP_STRUCT__entry(
292                 __field(u32, minor_status)        292                 __field(u32, minor_status)
293                 __field(unsigned long, major_s    293                 __field(unsigned long, major_status)
294                 __field(u32, xid)                 294                 __field(u32, xid)
295                 __string(addr, rqstp->rq_xprt-    295                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
296         ),                                        296         ),
297                                                   297 
298         TP_fast_assign(                           298         TP_fast_assign(
299                 __entry->minor_status = minor_    299                 __entry->minor_status = minor_status;
300                 __entry->major_status = major_    300                 __entry->major_status = major_status;
301                 __entry->xid = be32_to_cpu(rqs    301                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
302                 __assign_str(addr);               302                 __assign_str(addr);
303         ),                                        303         ),
304                                                   304 
305         TP_printk("addr=%s xid=0x%08x major_st    305         TP_printk("addr=%s xid=0x%08x major_status=%s (0x%08lx) minor_status=%u",
306                 __get_str(addr), __entry->xid,    306                 __get_str(addr), __entry->xid,
307                 (__entry->major_status == 0) ?    307                 (__entry->major_status == 0) ? "GSS_S_COMPLETE" :
308                         show_gss_status(__entr    308                         show_gss_status(__entry->major_status),
309                 __entry->major_status, __entry    309                 __entry->major_status, __entry->minor_status
310         )                                         310         )
311 );                                                311 );
312                                                   312 
313 TRACE_EVENT(rpcgss_svc_authenticate,              313 TRACE_EVENT(rpcgss_svc_authenticate,
314         TP_PROTO(                                 314         TP_PROTO(
315                 const struct svc_rqst *rqstp,     315                 const struct svc_rqst *rqstp,
316                 const struct rpc_gss_wire_cred    316                 const struct rpc_gss_wire_cred *gc
317         ),                                        317         ),
318                                                   318 
319         TP_ARGS(rqstp, gc),                       319         TP_ARGS(rqstp, gc),
320                                                   320 
321         TP_STRUCT__entry(                         321         TP_STRUCT__entry(
322                 __field(u32, seqno)               322                 __field(u32, seqno)
323                 __field(u32, xid)                 323                 __field(u32, xid)
324                 __string(addr, rqstp->rq_xprt-    324                 __string(addr, rqstp->rq_xprt->xpt_remotebuf)
325         ),                                        325         ),
326                                                   326 
327         TP_fast_assign(                           327         TP_fast_assign(
328                 __entry->xid = be32_to_cpu(rqs    328                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
329                 __entry->seqno = gc->gc_seq;      329                 __entry->seqno = gc->gc_seq;
330                 __assign_str(addr);               330                 __assign_str(addr);
331         ),                                        331         ),
332                                                   332 
333         TP_printk("addr=%s xid=0x%08x seqno=%u    333         TP_printk("addr=%s xid=0x%08x seqno=%u", __get_str(addr),
334                 __entry->xid, __entry->seqno)     334                 __entry->xid, __entry->seqno)
335 );                                                335 );
336                                                   336 
337                                                   337 
338 /**                                               338 /**
339  ** GSS auth unwrap failures                      339  ** GSS auth unwrap failures
340  **/                                              340  **/
341                                                   341 
342 TRACE_EVENT(rpcgss_unwrap_failed,                 342 TRACE_EVENT(rpcgss_unwrap_failed,
343         TP_PROTO(                                 343         TP_PROTO(
344                 const struct rpc_task *task       344                 const struct rpc_task *task
345         ),                                        345         ),
346                                                   346 
347         TP_ARGS(task),                            347         TP_ARGS(task),
348                                                   348 
349         TP_STRUCT__entry(                         349         TP_STRUCT__entry(
350                 __field(unsigned int, task_id)    350                 __field(unsigned int, task_id)
351                 __field(unsigned int, client_i    351                 __field(unsigned int, client_id)
352         ),                                        352         ),
353                                                   353 
354         TP_fast_assign(                           354         TP_fast_assign(
355                 __entry->task_id = task->tk_pi    355                 __entry->task_id = task->tk_pid;
356                 __entry->client_id = task->tk_    356                 __entry->client_id = task->tk_client->cl_clid;
357         ),                                        357         ),
358                                                   358 
359         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER,    359         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER,
360                 __entry->task_id, __entry->cli    360                 __entry->task_id, __entry->client_id)
361 );                                                361 );
362                                                   362 
363 TRACE_EVENT(rpcgss_bad_seqno,                     363 TRACE_EVENT(rpcgss_bad_seqno,
364         TP_PROTO(                                 364         TP_PROTO(
365                 const struct rpc_task *task,      365                 const struct rpc_task *task,
366                 u32 expected,                     366                 u32 expected,
367                 u32 received                      367                 u32 received
368         ),                                        368         ),
369                                                   369 
370         TP_ARGS(task, expected, received),        370         TP_ARGS(task, expected, received),
371                                                   371 
372         TP_STRUCT__entry(                         372         TP_STRUCT__entry(
373                 __field(unsigned int, task_id)    373                 __field(unsigned int, task_id)
374                 __field(unsigned int, client_i    374                 __field(unsigned int, client_id)
375                 __field(u32, expected)            375                 __field(u32, expected)
376                 __field(u32, received)            376                 __field(u32, received)
377         ),                                        377         ),
378                                                   378 
379         TP_fast_assign(                           379         TP_fast_assign(
380                 __entry->task_id = task->tk_pi    380                 __entry->task_id = task->tk_pid;
381                 __entry->client_id = task->tk_    381                 __entry->client_id = task->tk_client->cl_clid;
382                 __entry->expected = expected;     382                 __entry->expected = expected;
383                 __entry->received = received;     383                 __entry->received = received;
384         ),                                        384         ),
385                                                   385 
386         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER     386         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER
387                   " expected seqno %u, receive    387                   " expected seqno %u, received seqno %u",
388                 __entry->task_id, __entry->cli    388                 __entry->task_id, __entry->client_id,
389                 __entry->expected, __entry->re    389                 __entry->expected, __entry->received)
390 );                                                390 );
391                                                   391 
392 TRACE_EVENT(rpcgss_seqno,                         392 TRACE_EVENT(rpcgss_seqno,
393         TP_PROTO(                                 393         TP_PROTO(
394                 const struct rpc_task *task       394                 const struct rpc_task *task
395         ),                                        395         ),
396                                                   396 
397         TP_ARGS(task),                            397         TP_ARGS(task),
398                                                   398 
399         TP_STRUCT__entry(                         399         TP_STRUCT__entry(
400                 __field(unsigned int, task_id)    400                 __field(unsigned int, task_id)
401                 __field(unsigned int, client_i    401                 __field(unsigned int, client_id)
402                 __field(u32, xid)                 402                 __field(u32, xid)
403                 __field(u32, seqno)               403                 __field(u32, seqno)
404         ),                                        404         ),
405                                                   405 
406         TP_fast_assign(                           406         TP_fast_assign(
407                 const struct rpc_rqst *rqst =     407                 const struct rpc_rqst *rqst = task->tk_rqstp;
408                                                   408 
409                 __entry->task_id = task->tk_pi    409                 __entry->task_id = task->tk_pid;
410                 __entry->client_id = task->tk_    410                 __entry->client_id = task->tk_client->cl_clid;
411                 __entry->xid = be32_to_cpu(rqs    411                 __entry->xid = be32_to_cpu(rqst->rq_xid);
412                 __entry->seqno = rqst->rq_seqn    412                 __entry->seqno = rqst->rq_seqno;
413         ),                                        413         ),
414                                                   414 
415         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER     415         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER " xid=0x%08x seqno=%u",
416                 __entry->task_id, __entry->cli    416                 __entry->task_id, __entry->client_id,
417                 __entry->xid, __entry->seqno)     417                 __entry->xid, __entry->seqno)
418 );                                                418 );
419                                                   419 
420 TRACE_EVENT(rpcgss_need_reencode,                 420 TRACE_EVENT(rpcgss_need_reencode,
421         TP_PROTO(                                 421         TP_PROTO(
422                 const struct rpc_task *task,      422                 const struct rpc_task *task,
423                 u32 seq_xmit,                     423                 u32 seq_xmit,
424                 bool ret                          424                 bool ret
425         ),                                        425         ),
426                                                   426 
427         TP_ARGS(task, seq_xmit, ret),             427         TP_ARGS(task, seq_xmit, ret),
428                                                   428 
429         TP_STRUCT__entry(                         429         TP_STRUCT__entry(
430                 __field(unsigned int, task_id)    430                 __field(unsigned int, task_id)
431                 __field(unsigned int, client_i    431                 __field(unsigned int, client_id)
432                 __field(u32, xid)                 432                 __field(u32, xid)
433                 __field(u32, seq_xmit)            433                 __field(u32, seq_xmit)
434                 __field(u32, seqno)               434                 __field(u32, seqno)
435                 __field(bool, ret)                435                 __field(bool, ret)
436         ),                                        436         ),
437                                                   437 
438         TP_fast_assign(                           438         TP_fast_assign(
439                 __entry->task_id = task->tk_pi    439                 __entry->task_id = task->tk_pid;
440                 __entry->client_id = task->tk_    440                 __entry->client_id = task->tk_client->cl_clid;
441                 __entry->xid = be32_to_cpu(tas    441                 __entry->xid = be32_to_cpu(task->tk_rqstp->rq_xid);
442                 __entry->seq_xmit = seq_xmit;     442                 __entry->seq_xmit = seq_xmit;
443                 __entry->seqno = task->tk_rqst    443                 __entry->seqno = task->tk_rqstp->rq_seqno;
444                 __entry->ret = ret;               444                 __entry->ret = ret;
445         ),                                        445         ),
446                                                   446 
447         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER     447         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER
448                   " xid=0x%08x rq_seqno=%u seq    448                   " xid=0x%08x rq_seqno=%u seq_xmit=%u reencode %sneeded",
449                 __entry->task_id, __entry->cli    449                 __entry->task_id, __entry->client_id,
450                 __entry->xid, __entry->seqno,     450                 __entry->xid, __entry->seqno, __entry->seq_xmit,
451                 __entry->ret ? "" : "un")         451                 __entry->ret ? "" : "un")
452 );                                                452 );
453                                                   453 
454 TRACE_EVENT(rpcgss_update_slack,                  454 TRACE_EVENT(rpcgss_update_slack,
455         TP_PROTO(                                 455         TP_PROTO(
456                 const struct rpc_task *task,      456                 const struct rpc_task *task,
457                 const struct rpc_auth *auth       457                 const struct rpc_auth *auth
458         ),                                        458         ),
459                                                   459 
460         TP_ARGS(task, auth),                      460         TP_ARGS(task, auth),
461                                                   461 
462         TP_STRUCT__entry(                         462         TP_STRUCT__entry(
463                 __field(unsigned int, task_id)    463                 __field(unsigned int, task_id)
464                 __field(unsigned int, client_i    464                 __field(unsigned int, client_id)
465                 __field(u32, xid)                 465                 __field(u32, xid)
466                 __field(const void *, auth)       466                 __field(const void *, auth)
467                 __field(unsigned int, rslack)     467                 __field(unsigned int, rslack)
468                 __field(unsigned int, ralign)     468                 __field(unsigned int, ralign)
469                 __field(unsigned int, verfsize    469                 __field(unsigned int, verfsize)
470         ),                                        470         ),
471                                                   471 
472         TP_fast_assign(                           472         TP_fast_assign(
473                 __entry->task_id = task->tk_pi    473                 __entry->task_id = task->tk_pid;
474                 __entry->client_id = task->tk_    474                 __entry->client_id = task->tk_client->cl_clid;
475                 __entry->xid = be32_to_cpu(tas    475                 __entry->xid = be32_to_cpu(task->tk_rqstp->rq_xid);
476                 __entry->auth = auth;             476                 __entry->auth = auth;
477                 __entry->rslack = auth->au_rsl    477                 __entry->rslack = auth->au_rslack;
478                 __entry->ralign = auth->au_ral    478                 __entry->ralign = auth->au_ralign;
479                 __entry->verfsize = auth->au_v    479                 __entry->verfsize = auth->au_verfsize;
480         ),                                        480         ),
481                                                   481 
482         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER     482         TP_printk(SUNRPC_TRACE_TASK_SPECIFIER
483                   " xid=0x%08x auth=%p rslack=    483                   " xid=0x%08x auth=%p rslack=%u ralign=%u verfsize=%u\n",
484                 __entry->task_id, __entry->cli    484                 __entry->task_id, __entry->client_id, __entry->xid,
485                 __entry->auth, __entry->rslack    485                 __entry->auth, __entry->rslack, __entry->ralign,
486                 __entry->verfsize)                486                 __entry->verfsize)
487 );                                                487 );
488                                                   488 
489 DECLARE_EVENT_CLASS(rpcgss_svc_seqno_class,       489 DECLARE_EVENT_CLASS(rpcgss_svc_seqno_class,
490         TP_PROTO(                                 490         TP_PROTO(
491                 const struct svc_rqst *rqstp,     491                 const struct svc_rqst *rqstp,
492                 u32 seqno                         492                 u32 seqno
493         ),                                        493         ),
494                                                   494 
495         TP_ARGS(rqstp, seqno),                    495         TP_ARGS(rqstp, seqno),
496                                                   496 
497         TP_STRUCT__entry(                         497         TP_STRUCT__entry(
498                 __field(u32, xid)                 498                 __field(u32, xid)
499                 __field(u32, seqno)               499                 __field(u32, seqno)
500         ),                                        500         ),
501                                                   501 
502         TP_fast_assign(                           502         TP_fast_assign(
503                 __entry->xid = be32_to_cpu(rqs    503                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
504                 __entry->seqno = seqno;           504                 __entry->seqno = seqno;
505         ),                                        505         ),
506                                                   506 
507         TP_printk("xid=0x%08x seqno=%u",          507         TP_printk("xid=0x%08x seqno=%u",
508                 __entry->xid, __entry->seqno)     508                 __entry->xid, __entry->seqno)
509 );                                                509 );
510                                                   510 
511 #define DEFINE_SVC_SEQNO_EVENT(name)              511 #define DEFINE_SVC_SEQNO_EVENT(name)                                    \
512         DEFINE_EVENT(rpcgss_svc_seqno_class, r    512         DEFINE_EVENT(rpcgss_svc_seqno_class, rpcgss_svc_seqno_##name,   \
513                         TP_PROTO(                 513                         TP_PROTO(                                       \
514                                 const struct s    514                                 const struct svc_rqst *rqstp,           \
515                                 u32 seqno         515                                 u32 seqno                               \
516                         ),                        516                         ),                                              \
517                         TP_ARGS(rqstp, seqno))    517                         TP_ARGS(rqstp, seqno))
518                                                   518 
519 DEFINE_SVC_SEQNO_EVENT(large);                    519 DEFINE_SVC_SEQNO_EVENT(large);
520 DEFINE_SVC_SEQNO_EVENT(seen);                     520 DEFINE_SVC_SEQNO_EVENT(seen);
521                                                   521 
522 TRACE_EVENT(rpcgss_svc_seqno_low,                 522 TRACE_EVENT(rpcgss_svc_seqno_low,
523         TP_PROTO(                                 523         TP_PROTO(
524                 const struct svc_rqst *rqstp,     524                 const struct svc_rqst *rqstp,
525                 u32 seqno,                        525                 u32 seqno,
526                 u32 min,                          526                 u32 min,
527                 u32 max                           527                 u32 max
528         ),                                        528         ),
529                                                   529 
530         TP_ARGS(rqstp, seqno, min, max),          530         TP_ARGS(rqstp, seqno, min, max),
531                                                   531 
532         TP_STRUCT__entry(                         532         TP_STRUCT__entry(
533                 __field(u32, xid)                 533                 __field(u32, xid)
534                 __field(u32, seqno)               534                 __field(u32, seqno)
535                 __field(u32, min)                 535                 __field(u32, min)
536                 __field(u32, max)                 536                 __field(u32, max)
537         ),                                        537         ),
538                                                   538 
539         TP_fast_assign(                           539         TP_fast_assign(
540                 __entry->xid = be32_to_cpu(rqs    540                 __entry->xid = be32_to_cpu(rqstp->rq_xid);
541                 __entry->seqno = seqno;           541                 __entry->seqno = seqno;
542                 __entry->min = min;               542                 __entry->min = min;
543                 __entry->max = max;               543                 __entry->max = max;
544         ),                                        544         ),
545                                                   545 
546         TP_printk("xid=0x%08x seqno=%u window=    546         TP_printk("xid=0x%08x seqno=%u window=[%u..%u]",
547                 __entry->xid, __entry->seqno,     547                 __entry->xid, __entry->seqno, __entry->min, __entry->max)
548 );                                                548 );
549                                                   549 
550 /**                                               550 /**
551  ** gssd upcall related trace events              551  ** gssd upcall related trace events
552  **/                                              552  **/
553                                                   553 
554 TRACE_EVENT(rpcgss_upcall_msg,                    554 TRACE_EVENT(rpcgss_upcall_msg,
555         TP_PROTO(                                 555         TP_PROTO(
556                 const char *buf                   556                 const char *buf
557         ),                                        557         ),
558                                                   558 
559         TP_ARGS(buf),                             559         TP_ARGS(buf),
560                                                   560 
561         TP_STRUCT__entry(                         561         TP_STRUCT__entry(
562                 __string(msg, buf)                562                 __string(msg, buf)
563         ),                                        563         ),
564                                                   564 
565         TP_fast_assign(                           565         TP_fast_assign(
566                 __assign_str(msg);                566                 __assign_str(msg);
567         ),                                        567         ),
568                                                   568 
569         TP_printk("msg='%s'", __get_str(msg))     569         TP_printk("msg='%s'", __get_str(msg))
570 );                                                570 );
571                                                   571 
572 TRACE_EVENT(rpcgss_upcall_result,                 572 TRACE_EVENT(rpcgss_upcall_result,
573         TP_PROTO(                                 573         TP_PROTO(
574                 u32 uid,                          574                 u32 uid,
575                 int result                        575                 int result
576         ),                                        576         ),
577                                                   577 
578         TP_ARGS(uid, result),                     578         TP_ARGS(uid, result),
579                                                   579 
580         TP_STRUCT__entry(                         580         TP_STRUCT__entry(
581                 __field(u32, uid)                 581                 __field(u32, uid)
582                 __field(int, result)              582                 __field(int, result)
583                                                   583 
584         ),                                        584         ),
585                                                   585 
586         TP_fast_assign(                           586         TP_fast_assign(
587                 __entry->uid = uid;               587                 __entry->uid = uid;
588                 __entry->result = result;         588                 __entry->result = result;
589         ),                                        589         ),
590                                                   590 
591         TP_printk("for uid %u, result=%d", __e    591         TP_printk("for uid %u, result=%d", __entry->uid, __entry->result)
592 );                                                592 );
593                                                   593 
594 TRACE_EVENT(rpcgss_context,                       594 TRACE_EVENT(rpcgss_context,
595         TP_PROTO(                                 595         TP_PROTO(
596                 u32 window_size,                  596                 u32 window_size,
597                 unsigned long expiry,             597                 unsigned long expiry,
598                 unsigned long now,                598                 unsigned long now,
599                 unsigned int timeout,             599                 unsigned int timeout,
600                 unsigned int len,                 600                 unsigned int len,
601                 const u8 *data                    601                 const u8 *data
602         ),                                        602         ),
603                                                   603 
604         TP_ARGS(window_size, expiry, now, time    604         TP_ARGS(window_size, expiry, now, timeout, len, data),
605                                                   605 
606         TP_STRUCT__entry(                         606         TP_STRUCT__entry(
607                 __field(unsigned long, expiry)    607                 __field(unsigned long, expiry)
608                 __field(unsigned long, now)       608                 __field(unsigned long, now)
609                 __field(unsigned int, timeout)    609                 __field(unsigned int, timeout)
610                 __field(u32, window_size)         610                 __field(u32, window_size)
611                 __field(int, len)                 611                 __field(int, len)
612                 __string_len(acceptor, data, l    612                 __string_len(acceptor, data, len)
613         ),                                        613         ),
614                                                   614 
615         TP_fast_assign(                           615         TP_fast_assign(
616                 __entry->expiry = expiry;         616                 __entry->expiry = expiry;
617                 __entry->now = now;               617                 __entry->now = now;
618                 __entry->timeout = timeout;       618                 __entry->timeout = timeout;
619                 __entry->window_size = window_    619                 __entry->window_size = window_size;
620                 __entry->len = len;               620                 __entry->len = len;
621                 __assign_str(acceptor);           621                 __assign_str(acceptor);
622         ),                                        622         ),
623                                                   623 
624         TP_printk("win_size=%u expiry=%lu now=    624         TP_printk("win_size=%u expiry=%lu now=%lu timeout=%u acceptor=%.*s",
625                 __entry->window_size, __entry-    625                 __entry->window_size, __entry->expiry, __entry->now,
626                 __entry->timeout, __entry->len    626                 __entry->timeout, __entry->len, __get_str(acceptor))
627 );                                                627 );
628                                                   628 
629                                                   629 
630 /**                                               630 /**
631  ** Miscellaneous events                          631  ** Miscellaneous events
632  */                                               632  */
633                                                   633 
634 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5);             634 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5);
635 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5I);            635 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5I);
636 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5P);            636 TRACE_DEFINE_ENUM(RPC_AUTH_GSS_KRB5P);
637                                                   637 
638 #define show_pseudoflavor(x)                      638 #define show_pseudoflavor(x)                                            \
639         __print_symbolic(x,                       639         __print_symbolic(x,                                             \
640                 { RPC_AUTH_GSS_KRB5, "RPC_AUTH    640                 { RPC_AUTH_GSS_KRB5, "RPC_AUTH_GSS_KRB5" },             \
641                 { RPC_AUTH_GSS_KRB5I, "RPC_AUT    641                 { RPC_AUTH_GSS_KRB5I, "RPC_AUTH_GSS_KRB5I" },           \
642                 { RPC_AUTH_GSS_KRB5P, "RPC_AUT    642                 { RPC_AUTH_GSS_KRB5P, "RPC_AUTH_GSS_KRB5P" })
643                                                   643 
644                                                   644 
645 TRACE_EVENT(rpcgss_createauth,                    645 TRACE_EVENT(rpcgss_createauth,
646         TP_PROTO(                                 646         TP_PROTO(
647                 unsigned int flavor,              647                 unsigned int flavor,
648                 int error                         648                 int error
649         ),                                        649         ),
650                                                   650 
651         TP_ARGS(flavor, error),                   651         TP_ARGS(flavor, error),
652                                                   652 
653         TP_STRUCT__entry(                         653         TP_STRUCT__entry(
654                 __field(unsigned int, flavor)     654                 __field(unsigned int, flavor)
655                 __field(int, error)               655                 __field(int, error)
656                                                   656 
657         ),                                        657         ),
658                                                   658 
659         TP_fast_assign(                           659         TP_fast_assign(
660                 __entry->flavor = flavor;         660                 __entry->flavor = flavor;
661                 __entry->error = error;           661                 __entry->error = error;
662         ),                                        662         ),
663                                                   663 
664         TP_printk("flavor=%s error=%d",           664         TP_printk("flavor=%s error=%d",
665                 show_pseudoflavor(__entry->fla    665                 show_pseudoflavor(__entry->flavor), __entry->error)
666 );                                                666 );
667                                                   667 
668 TRACE_EVENT(rpcgss_oid_to_mech,                   668 TRACE_EVENT(rpcgss_oid_to_mech,
669         TP_PROTO(                                 669         TP_PROTO(
670                 const char *oid                   670                 const char *oid
671         ),                                        671         ),
672                                                   672 
673         TP_ARGS(oid),                             673         TP_ARGS(oid),
674                                                   674 
675         TP_STRUCT__entry(                         675         TP_STRUCT__entry(
676                 __string(oid, oid)                676                 __string(oid, oid)
677         ),                                        677         ),
678                                                   678 
679         TP_fast_assign(                           679         TP_fast_assign(
680                 __assign_str(oid);                680                 __assign_str(oid);
681         ),                                        681         ),
682                                                   682 
683         TP_printk("mech for oid %s was not fou    683         TP_printk("mech for oid %s was not found", __get_str(oid))
684 );                                                684 );
685                                                   685 
686 #endif  /* _TRACE_RPCGSS_H */                     686 #endif  /* _TRACE_RPCGSS_H */
687                                                   687 
688 #include <trace/define_trace.h>                   688 #include <trace/define_trace.h>
689                                                   689 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php