From: Eric Dumazet Date: Fri, 2 Dec 2011 23:41:42 +0000 (+0000) Subject: tcp: drop SYN+FIN messages X-Git-Tag: v3.0.38~13 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1a4eda9788a542347dfc2b1684636bcbe2ee3f79;p=karo-tx-linux.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 Cc: Ben Hutchings Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 7410a8c28e14..6e33b79cb688 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -5761,6 +5761,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;