From: Eric Dumazet Date: Fri, 2 Dec 2011 23:41:42 +0000 (+0000) Subject: tcp: drop SYN+FIN messages X-Git-Tag: v2.6.34.15~152 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cc5e45629c6783c2b77d881f61ff52a68b8f0c8e;p=thirdparty%2Fkernel%2Fstable.git tcp: drop SYN+FIN messages commit fdf5af0daf8019cec2396cdef8fb042d80fe71fa upstream. Denys Fedoryshchenko reported that SYN+FIN attacks were bringing his linux machines to their limits. Dont call conn_request() if the TCP flags includes SYN flag Reported-by: Denys Fedoryshchenko Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Paul Gortmaker --- diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index df5de7dd22d25..20af12ae55a7f 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5737,6 +5737,8 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, goto discard; if (th->syn) { + if (th->fin) + goto discard; if (icsk->icsk_af_ops->conn_request(sk, skb) < 0) return 1;