]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ipv4: fix redirect handling
authorEric Dumazet <eric.dumazet@gmail.com>
Fri, 18 Nov 2011 20:24:32 +0000 (15:24 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Mar 2012 00:34:18 +0000 (16:34 -0800)
commit42ab5316ddcaa0de23e88e8a3d363c767b9ab0b3
tree24021e80fdb09f83eb83439a0d1c193b6e7fb80c
parentbebee22bcbf0026f92141990972bd5863ef9b69c
ipv4: fix redirect handling

[ Upstream commit 9cc20b268a5a14f5e57b8ad405a83513ab0d78dc ]

commit f39925dbde77 (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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/route.c