ipv4: fix redirect handling
authorEric Dumazet <eric.dumazet@gmail.com>
Fri, 18 Nov 2011 20:24:32 +0000 (15:24 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Nov 2011 20:24:32 +0000 (15:24 -0500)
commit9cc20b268a5a14f5e57b8ad405a83513ab0d78dc
treef0dc4bce125d845703ef6377d645a5ca9864e612
parentfb120c0a2775b0d2d095a99ea8432bfb5d444ab2
ipv4: fix redirect handling

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>
net/ipv4/route.c