From: Eric Dumazet Date: Fri, 2 Dec 2011 23:41:42 +0000 (+0000) Subject: tcp: drop SYN+FIN messages X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=fdf5af0daf8019cec2396cdef8fb042d80fe71fa;p=deliverable%2Flinux.git tcp: drop SYN+FIN messages 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 --- diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 78dd38cd5496..0cbb44076cfa 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5811,6 +5811,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;