1
linux/net/ipv6
Neal Cardwell 9f10d3f6f9 tcp: plug dst leak in tcp_v6_conn_request()
The code in tcp_v6_conn_request() was implicitly assuming that
tcp_v6_send_synack() would take care of dst_release(), much as
tcp_v4_send_synack() already does. This resulted in
tcp_v6_conn_request() leaking a dst if sysctl_tw_recycle is enabled.

This commit restructures tcp_v6_send_synack() so that it accepts a dst
pointer and takes care of releasing the dst that is passed in, to plug
the leak and avoid future surprises by bringing the IPv6 behavior in
line with the IPv4 side.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-06-28 17:54:03 -07:00
..
netfilter netfilter: add user-space connection tracking helper infrastructure 2012-06-16 15:40:02 +02:00
addrconf_core.c
addrconf.c
addrlabel.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
af_inet6.c ipv6: bool conversions phase1 2012-05-18 02:24:13 -04:00
ah6.c ipv6: Handle PMTU in ICMP error handlers. 2012-06-15 14:54:11 -07:00
anycast.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
datagram.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
esp6.c ipv6: Handle PMTU in ICMP error handlers. 2012-06-15 14:54:11 -07:00
exthdrs_core.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
exthdrs.c net: Remove casts to same type 2012-06-04 11:45:11 -04:00
fib6_rules.c
icmp.c inet: Sanitize inet{,6} protocol demux. 2012-06-19 18:56:21 -07:00
inet6_connection_sock.c tcp: pass fl6 to inet6_csk_route_req() 2012-06-28 17:53:50 -07:00
inet6_hashtables.c
ip6_fib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-06-25 15:50:32 -07:00
ip6_flowlabel.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
ip6_input.c inet: Sanitize inet{,6} protocol demux. 2012-06-19 18:56:21 -07:00
ip6_output.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-06-12 21:59:18 -07:00
ip6_tunnel.c ipv6: bool conversions phase1 2012-05-18 02:24:13 -04:00
ip6mr.c ip6mr: Do not use RTA_PUT() macros 2012-06-27 15:36:44 -07:00
ipcomp6.c ipv6: Handle PMTU in ICMP error handlers. 2012-06-15 14:54:11 -07:00
ipv6_sockglue.c
Kconfig
Makefile
mcast.c ipv6: bool/const conversions phase2 2012-05-19 01:08:16 -04:00
mip6.c
ndisc.c inet: Create and use rt{,6}_get_peer_create(). 2012-06-08 23:24:18 -07:00
netfilter.c
proc.c
protocol.c inet: Sanitize inet{,6} protocol demux. 2012-06-19 18:56:21 -07:00
raw.c inet: Sanitize inet{,6} protocol demux. 2012-06-19 18:56:21 -07:00
reassembly.c ipv6: use skb coalescing in reassembly 2012-05-19 18:34:57 -04:00
route.c net/ipv6/route.c: packets originating on device match lo 2012-06-25 23:54:32 -07:00
sit.c ipv4: Handle PMTU in all ICMP error handlers. 2012-06-14 22:22:07 -07:00
syncookies.c
sysctl_net_ipv6.c
tcp_ipv6.c tcp: plug dst leak in tcp_v6_conn_request() 2012-06-28 17:54:03 -07:00
tunnel6.c
udp_impl.h
udp.c net: skb_free_datagram_locked() doesnt drop all packets 2012-06-27 15:40:57 -07:00
udplite.c
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 inet: Hide route peer accesses behind helpers. 2012-06-11 02:08:47 -07:00
xfrm6_state.c
xfrm6_tunnel.c