linux/net/ipv4
Eric Dumazet 9cc20b268a ipv4: fix redirect handling
commit f39925dbde (ipv4: Cache learned redirect information in
inetpeer.) introduced a regression in ICMP redirect handling.

It assumed ipv4_dst_check() would be called because all possible routes
were attached to the inetpeer we modify in ip_rt_redirect(), but thats
not true.

commit 7cc9150ebe (route: fix ICMP redirect validation) tried to fix
this but solution was not complete. (It fixed only one route)

So we must lookup existing routes (including different TOS values) and
call check_peer_redir() on them.

Reported-by: Ivan Zahariev <famzah@icdsoft.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Flavio Leitner <fbl@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-11-18 15:24:32 -05:00
..
netfilter Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
Kconfig
Makefile
af_inet.c ipv4: compat_ioctl is local to af_inet.c, make it static 2011-10-19 19:24:39 -04:00
ah4.c ah: Don't return NET_XMIT_DROP on input. 2011-11-12 18:13:32 -05:00
arp.c
cipso_ipv4.c
datagram.c
devinet.c
esp4.c
fib_frontend.c
fib_lookup.h
fib_rules.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
fib_semantics.c
fib_trie.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
gre.c
icmp.c
igmp.c
inet_connection_sock.c
inet_diag.c net-netlink: Add a new attribute to expose TCLASS values via netlink 2011-11-14 01:08:49 -05:00
inet_fragment.c
inet_hashtables.c
inet_lro.c
inet_timewait_sock.c net: Fix files explicitly needing to include module.h 2011-10-31 19:30:28 -04:00
inetpeer.c
ip_forward.c
ip_fragment.c
ip_gre.c ip_gre: dont increase dev->needed_headroom on a live device 2011-10-20 16:20:30 -04:00
ip_input.c
ip_options.c ipv4: fix for ip_options_rcv_srr() daddr update. 2011-11-09 15:59:00 -05:00
ip_output.c ipv4: tcp: fix TOS value in ACK messages sent from TIME_WAIT 2011-10-24 03:06:21 -04:00
ip_sockglue.c net: use INET_ECN_MASK instead of hardcoded 3 2011-10-22 00:07:47 -04:00
ipcomp.c
ipconfig.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
ipip.c
ipmr.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
netfilter.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
ping.c ping: dont increment ICMP_MIB_INERRORS 2011-11-18 14:38:59 -05:00
proc.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
protocol.c
raw.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
route.c ipv4: fix redirect handling 2011-11-18 15:24:32 -05:00
syncookies.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
sysctl_net_ipv4.c
tcp.c TCP: remove TCP_DEBUG 2011-10-24 17:36:08 -04:00
tcp_bic.c
tcp_cong.c
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp: add const qualifiers where possible 2011-10-21 05:22:42 -04:00
tcp_ipv4.c tcp: clear xmit timers in tcp_v4_syn_recv_sock() 2011-11-16 16:57:45 -05:00
tcp_lp.c
tcp_minisocks.c ipv6: tcp: fix TCLASS value in ACK messages sent from TIME_WAIT 2011-10-27 00:44:35 -04:00
tcp_output.c tcp: Fix comments for Nagle algorithm 2011-11-08 14:02:47 -05:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c TCP: remove TCP_DEBUG 2011-10-24 17:36:08 -04:00
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c
udp.c udp: fix a race in encap_rcv handling 2011-11-02 00:51:27 -04:00
udp_impl.h
udplite.c Merge branch 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux 2011-11-06 19:44:47 -08:00
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c ipv4: fix ipsec forward performance regression 2011-10-24 03:01:22 -04:00
xfrm4_state.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
xfrm4_tunnel.c