tcp: do not drop syn_recv on all icmp reports
authorEric Dumazet <edumazet@google.com>
Wed, 3 Feb 2016 03:31:12 +0000 (19:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Feb 2016 09:15:37 +0000 (04:15 -0500)
commit9cf7490360bf2c46a16b7525f899e4970c5fc144
tree62252375fcdc3d7ce324054262ea30015d3227b5
parent44c3d0c1c0a880354e9de5d94175742e2c7c9683
tcp: do not drop syn_recv on all icmp reports

Petr Novopashenniy reported that ICMP redirects on SYN_RECV sockets
were leading to RST.

This is of course incorrect.

A specific list of ICMP messages should be able to drop a SYN_RECV.

For instance, a REDIRECT on SYN_RECV shall be ignored, as we do
not hold a dst per SYN_RECV pseudo request.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=111751
Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table")
Reported-by: Petr Novopashenniy <pety@rusnet.ru>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_ipv4.c
net/ipv6/tcp_ipv6.c