On Fri, Jun 24, 2016 at 10:55:43AM -0400, Trond Myklebust wrote: > There is no guarantee that either the request or the svc_xprt exist > by the time we get round to printing the trace message. Thanks. I'll also add: Cc: stable@xxxxxxxxxxxxxxx Fixes: 83a712e0afef "sunrpc: add some tracepoints around ..." --b. > > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > --- > include/trace/events/sunrpc.h | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h > index 003dca933803..e82493d07a86 100644 > --- a/include/trace/events/sunrpc.h > +++ b/include/trace/events/sunrpc.h > @@ -455,20 +455,22 @@ TRACE_EVENT(svc_recv, > TP_ARGS(rqst, status), > > TP_STRUCT__entry( > - __field(struct sockaddr *, addr) > __field(__be32, xid) > __field(int, status) > __field(unsigned long, flags) > + __dynamic_array(unsigned char, addr, rqst->rq_addrlen) > ), > > TP_fast_assign( > - __entry->addr = (struct sockaddr *)&rqst->rq_addr; > __entry->xid = status > 0 ? rqst->rq_xid : 0; > __entry->status = status; > __entry->flags = rqst->rq_flags; > + memcpy(__get_dynamic_array(addr), > + &rqst->rq_addr, rqst->rq_addrlen); > ), > > - TP_printk("addr=%pIScp xid=0x%x status=%d flags=%s", __entry->addr, > + TP_printk("addr=%pIScp xid=0x%x status=%d flags=%s", > + (struct sockaddr *)__get_dynamic_array(addr), > be32_to_cpu(__entry->xid), __entry->status, > show_rqstp_flags(__entry->flags)) > ); > @@ -480,22 +482,23 @@ DECLARE_EVENT_CLASS(svc_rqst_status, > TP_ARGS(rqst, status), > > TP_STRUCT__entry( > - __field(struct sockaddr *, addr) > __field(__be32, xid) > - __field(int, dropme) > __field(int, status) > __field(unsigned long, flags) > + __dynamic_array(unsigned char, addr, rqst->rq_addrlen) > ), > > TP_fast_assign( > - __entry->addr = (struct sockaddr *)&rqst->rq_addr; > __entry->xid = rqst->rq_xid; > __entry->status = status; > __entry->flags = rqst->rq_flags; > + memcpy(__get_dynamic_array(addr), > + &rqst->rq_addr, rqst->rq_addrlen); > ), > > TP_printk("addr=%pIScp rq_xid=0x%x status=%d flags=%s", > - __entry->addr, be32_to_cpu(__entry->xid), > + (struct sockaddr *)__get_dynamic_array(addr), > + be32_to_cpu(__entry->xid), > __entry->status, show_rqstp_flags(__entry->flags)) > ); > > -- > 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html