TP_ARGS(rqst, status),
  
        TP_STRUCT__entry(
-               __field(struct sockaddr *, addr)
 -              __field(__be32, xid)
 +              __field(u32, 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->xid = status > 0 ? be32_to_cpu(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%08x status=%d flags=%s", __entry->addr,
 -      TP_printk("addr=%pIScp xid=0x%x status=%d flags=%s",
++      TP_printk("addr=%pIScp xid=0x%08x status=%d flags=%s",
+                       (struct sockaddr *)__get_dynamic_array(addr),
 -                      be32_to_cpu(__entry->xid), __entry->status,
 +                      __entry->xid, __entry->status,
                        show_rqstp_flags(__entry->flags))
  );
  
        TP_ARGS(rqst, status),
  
        TP_STRUCT__entry(
-               __field(struct sockaddr *, addr)
 -              __field(__be32, xid)
 +              __field(u32, 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->xid = be32_to_cpu(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",
 +      TP_printk("addr=%pIScp rq_xid=0x%08x status=%d flags=%s",
-               __entry->addr, __entry->xid,
+               (struct sockaddr *)__get_dynamic_array(addr),
 -              be32_to_cpu(__entry->xid),
++              __entry->xid,
                __entry->status, show_rqstp_flags(__entry->flags))
  );