linux/net/ipv6
Eric Dumazet a963a37d38 ipv6: ip6_sk_dst_check() must not assume ipv6 dst
It's possible to use AF_INET6 sockets and to connect to an IPv4
destination. After this, socket dst cache is a pointer to a rtable,
not rt6_info.

ip6_sk_dst_check() should check the socket dst cache is IPv6, or else
various corruptions/crashes can happen.

Dave Jones can reproduce immediate crash with
trinity -q -l off -n -c sendmsg -c connect

With help from Hannes Frederic Sowa

Reported-by: Dave Jones <davej@redhat.com>
Reported-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-26 15:13:47 -07:00
..
netfilter netfilter: nf_conntrack_ipv6: Plug sk_buff leak in fragment handling 2013-06-20 12:01:24 +02:00
Kconfig
Makefile ipv6: Kill ipv6 dependency of icmpv6_send(). 2013-04-29 13:54:36 -04:00
addrconf.c ipv6: check return value of ipv6_get_lladdr 2013-06-25 16:27:28 -07:00
addrconf_core.c
addrlabel.c
af_inet6.c
ah6.c
anycast.c
datagram.c
esp6.c
exthdrs.c
exthdrs_core.c
exthdrs_offload.c
fib6_rules.c
icmp.c net: Add MIB counters for checksum errors 2013-04-29 15:14:03 -04:00
inet6_connection_sock.c
inet6_hashtables.c
ip6_checksum.c
ip6_fib.c
ip6_flowlabel.c
ip6_gre.c ipv6,gre: do not leak info to user-space 2013-05-11 17:40:14 -07:00
ip6_icmp.c ipv6: Kill ipv6 dependency of icmpv6_send(). 2013-04-29 13:54:36 -04:00
ip6_input.c
ip6_offload.c
ip6_offload.h
ip6_output.c ipv6: ip6_sk_dst_check() must not assume ipv6 dst 2013-06-26 15:13:47 -07:00
ip6_tunnel.c
ip6mr.c
ipcomp6.c
ipv6_sockglue.c
mcast.c
mip6.c
ndisc.c ipv6: ndisc: fix ndisc_send_redirect writing to the wrong skb 2013-06-17 22:59:12 -07:00
netfilter.c netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6 2013-05-23 11:58:55 +02:00
output_core.c
proc.c snmp6: remove IPSTATS_MIB_CSUMERRORS 2013-05-31 16:26:49 -07:00
protocol.c
raw.c
reassembly.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-04-22 20:32:51 -04:00
route.c
sit.c
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c ipv6: do not clear pinet6 field 2013-05-11 16:26:38 -07:00
tcpv6_offload.c
tunnel6.c
udp.c ipv6: do not clear pinet6 field 2013-05-11 16:26:38 -07:00
udp_impl.h ipv6: do not clear pinet6 field 2013-05-11 16:26:38 -07:00
udp_offload.c udp6: Fix udp fragmentation for tunnel traffic. 2013-05-31 17:06:07 -07:00
udplite.c ipv6: do not clear pinet6 field 2013-05-11 16:26:38 -07:00
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm6_output.c
xfrm6_policy.c xfrm6: release dev before returning error 2013-05-11 17:40:15 -07:00
xfrm6_state.c
xfrm6_tunnel.c