[PATCH 2/2] net: sunrpc: fix trace print of &xprt->xpt_remote

From: Pratyush Anand
Date: Tue Aug 25 2015 - 02:05:56 EST


TP_printk() for svc_xprt_dequeue intends to print address of
xprt->xpt_remote, however it prints address of another structure where
xprt->xpt_remote has been copied.

This patch fixes the above behaviour.

Signed-off-by: Pratyush Anand <panand@xxxxxxxxxx>
---
include/trace/events/sunrpc.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h
index 937e482d80e9..37b6af1a911a 100644
--- a/include/trace/events/sunrpc.h
+++ b/include/trace/events/sunrpc.h
@@ -556,19 +556,19 @@ TRACE_EVENT(svc_xprt_dequeue,

TP_STRUCT__entry(
__field(struct svc_xprt *, xprt)
- __field_struct(struct sockaddr_storage, ss)
+ __field(struct sockaddr *, addr)
__field(unsigned long, flags)
),

TP_fast_assign(
- __entry->xprt = xprt,
- xprt ? memcpy(&__entry->ss, &xprt->xpt_remote, sizeof(__entry->ss)) : memset(&__entry->ss, 0, sizeof(__entry->ss));
+ __entry->xprt = xprt;
+ __entry->addr =
+ xprt ? (struct sockaddr *)&xprt->xpt_remote : NULL;
__entry->flags = xprt ? xprt->xpt_flags : 0;
),

TP_printk("xprt=0x%p addr=%pIScp flags=%s", __entry->xprt,
- (struct sockaddr *)&__entry->ss,
- show_svc_xprt_flags(__entry->flags))
+ __entry->addr, show_svc_xprt_flags(__entry->flags))
);

TRACE_EVENT(svc_wake_up,
--
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/