diff options
author | Benjamin Coddington <bcodding@redhat.com> | 2018-01-23 09:32:35 -0500 |
---|---|---|
committer | Trond Myklebust <trondmy@gmail.com> | 2018-01-23 13:18:11 -0500 |
commit | 0be283f676a1e7b208db0c992283197ef8b52158 (patch) | |
tree | 9a11d84498cee0462ee7f212d9fd78057fa58156 | |
parent | 49686cbbb3ebafe42e63868222f269d8053ead00 (diff) |
SUNRPC: Fix null rpc_clnt dereference in rpc_task_queued tracepoint
Backchannel tasks will not have a reference to the rpc_clnt. Return -1 for
cl_clid in that case.
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Trond Myklebust <trondmy@gmail.com>
-rw-r--r-- | include/trace/events/sunrpc.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index 8c153f68509e..1357ec8973d5 100644 --- a/include/trace/events/sunrpc.h +++ b/include/trace/events/sunrpc.h | |||
@@ -175,7 +175,7 @@ DECLARE_EVENT_CLASS(rpc_task_queued, | |||
175 | ), | 175 | ), |
176 | 176 | ||
177 | TP_fast_assign( | 177 | TP_fast_assign( |
178 | __entry->client_id = clnt->cl_clid; | 178 | __entry->client_id = clnt ? clnt->cl_clid : -1; |
179 | __entry->task_id = task->tk_pid; | 179 | __entry->task_id = task->tk_pid; |
180 | __entry->timeout = task->tk_timeout; | 180 | __entry->timeout = task->tk_timeout; |
181 | __entry->runstate = task->tk_runstate; | 181 | __entry->runstate = task->tk_runstate; |
@@ -184,7 +184,7 @@ DECLARE_EVENT_CLASS(rpc_task_queued, | |||
184 | __assign_str(q_name, rpc_qname(q)); | 184 | __assign_str(q_name, rpc_qname(q)); |
185 | ), | 185 | ), |
186 | 186 | ||
187 | TP_printk("task:%u@%u flags=%4.4x state=%4.4lx status=%d timeout=%lu queue=%s", | 187 | TP_printk("task:%u@%d flags=%4.4x state=%4.4lx status=%d timeout=%lu queue=%s", |
188 | __entry->task_id, __entry->client_id, | 188 | __entry->task_id, __entry->client_id, |
189 | __entry->flags, | 189 | __entry->flags, |
190 | __entry->runstate, | 190 | __entry->runstate, |