ipv6: Handle IPv4-mapped src to in6addr_any dst.
authorJonathan T. Leighton <jtleight@udel.edu>
Wed, 24 May 2017 01:53:33 +0000 (21:53 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Jun 2017 04:39:35 +0000 (06:39 +0200)
commit8faccb2b944215e1ecb86989f22113db267397c5
tree7c20141393dccf656ec7669a5cf46116a567455f
parent10a7629772676694cb4da272df2b391f1963fc7d
ipv6: Handle IPv4-mapped src to in6addr_any dst.

[ Upstream commit 052d2369d1b479cdbbe020fdd6d057d3c342db74 ]

This patch adds a check on the type of the source address for the case
where the destination address is in6addr_any. If the source is an
IPv4-mapped IPv6 source address, the destination is changed to
::ffff:127.0.0.1, and otherwise the destination is changed to ::1. This
is done in three locations to handle UDP calls to either connect() or
sendmsg() and TCP calls to connect(). Note that udpv6_sendmsg() delays
handling an in6addr_any destination until very late, so the patch only
needs to handle the case where the source is an IPv4-mapped IPv6
address.

Signed-off-by: Jonathan T. Leighton <jtleight@udel.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/datagram.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c