tcp: rstreason: fully support in tcp_check_req()
authorJason Xing <kernelxing@tencent.com>
Fri, 10 May 2024 12:25:02 +0000 (20:25 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 14 May 2024 00:33:57 +0000 (17:33 -0700)
commit11f46ea9814d2f0a3c7a5bc749d7619e47251f75
tree8373b47f89ab0ff45b96e50fa17f4db5e078aaf0
parent22a32557758a7100e46dfa8f383a401125e60b16
tcp: rstreason: fully support in tcp_check_req()

We're going to send an RST due to invalid syn packet which is already
checked whether 1) it is in sequence, 2) it is a retransmitted skb.

As RFC 793 says, if the state of socket is not CLOSED/LISTEN/SYN-SENT,
then we should send an RST when receiving bad syn packet:
"fourth, check the SYN bit,...If the SYN is in the window it is an
error, send a reset"

Signed-off-by: Jason Xing <kernelxing@tencent.com>
Link: https://lore.kernel.org/r/20240510122502.27850-6-kerneljasonxing@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/rstreason.h
net/ipv4/tcp_minisocks.c