summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2019-03-19 05:46:18 -0700
committerDavid S. Miller <davem@davemloft.net>2019-03-19 14:01:40 -0700
commite0aa67709f89d08c8d8e5bdd9e0b649df61d0090 (patch)
treef949e270cbf88ff2109914f3357cb2d13bbebd9c
parent89e4130939a20304f4059ab72179da81f5347528 (diff)
downloadlinux-e0aa67709f89d08c8d8e5bdd9e0b649df61d0090.tar.gz
linux-e0aa67709f89d08c8d8e5bdd9e0b649df61d0090.tar.bz2
linux-e0aa67709f89d08c8d8e5bdd9e0b649df61d0090.zip
dccp: do not use ipv6 header for ipv4 flow
When a dual stack dccp listener accepts an ipv4 flow, it should not attempt to use an ipv6 header or inet6_iif() helper. Fixes: 3df80d9320bc ("[DCCP]: Introduce DCCPv6") Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/dccp/ipv6.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
index d5740bad5b18..57d84e9b7b6f 100644
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c
@@ -436,8 +436,8 @@ static struct sock *dccp_v6_request_recv_sock(const struct sock *sk,
newnp->ipv6_mc_list = NULL;
newnp->ipv6_ac_list = NULL;
newnp->ipv6_fl_list = NULL;
- newnp->mcast_oif = inet6_iif(skb);
- newnp->mcast_hops = ipv6_hdr(skb)->hop_limit;
+ newnp->mcast_oif = inet_iif(skb);
+ newnp->mcast_hops = ip_hdr(skb)->ttl;
/*
* No need to charge this sock to the relevant IPv6 refcnt debug socks count