summaryrefslogtreecommitdiff
path: root/include/trace
diff options
context:
space:
mode:
authorDavid Ahern <dsahern@gmail.com>2017-10-18 08:17:29 -0700
committerDavid S. Miller <davem@davemloft.net>2017-10-20 13:04:58 +0100
commit890056783c60ad9d0789774af2bc10fe4f27dd9d (patch)
tree18ae8de6682d9165606b5806c8ab8315717ba92b /include/trace
parent17c918840fb07e5819f8df03345d7f4a5e5b791c (diff)
tcp: Remove use of inet6_sk and add IPv6 checks to tracepoint
386fd5da401d ("tcp: Check daddr_cache before use in tracepoint") was the second version of the tracepoint fixup patch. This patch is the delta between v2 and v3. Specifically, remove the use of inet6_sk and check sk_family as requested by Eric and add IS_ENABLED(CONFIG_IPV6) around the use of sk_v6_rcv_saddr and sk_v6_daddr as done in sock_common (noted by Cong). Signed-off-by: David Ahern <dsahern@gmail.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Tested-by: Song Liu <songliubraving@fb.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/tcp.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/trace/events/tcp.h b/include/trace/events/tcp.h
index f51c130f1e0f..c3220d914475 100644
--- a/include/trace/events/tcp.h
+++ b/include/trace/events/tcp.h
@@ -43,13 +43,15 @@ TRACE_EVENT(tcp_retransmit_skb,
p32 = (__be32 *) __entry->daddr;
*p32 = inet->inet_daddr;
- /* IPv6 socket ? */
- if (inet6_sk(sk)) {
+#if IS_ENABLED(CONFIG_IPV6)
+ if (sk->sk_family == AF_INET6) {
pin6 = (struct in6_addr *)__entry->saddr_v6;
*pin6 = sk->sk_v6_rcv_saddr;
pin6 = (struct in6_addr *)__entry->daddr_v6;
*pin6 = sk->sk_v6_daddr;
- } else {
+ } else
+#endif
+ {
pin6 = (struct in6_addr *)__entry->saddr_v6;
ipv6_addr_set_v4mapped(inet->inet_saddr, pin6);
pin6 = (struct in6_addr *)__entry->daddr_v6;