summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorStefan Baranoff <sbaranoff@gmail.com>2018-07-10 17:25:20 -0400
committerDavid S. Miller <davem@davemloft.net>2018-07-12 14:33:45 -0700
commit21684dc46c598e477707487c009f9773f7c0382d (patch)
treee32dc7d79947a09fc058069de742ea476db4cc83 /include/net
parent83fe6b8709f65bc505b10235bd82ece12c4c5099 (diff)
tcp: fix sequence numbers for repaired sockets re-using TIME-WAIT sockets
This patch fixes a bug where the sequence numbers of a socket created using TCP repair functionality are lower than set after connect is called. This occurs when the repair socket overlaps with a TIME-WAIT socket and triggers the re-use code. The amount lower is equal to the number of times that a particular IP/port set is re-used and then put back into TIME-WAIT. Re-using the first time the sequence number is 1 lower, closing that socket and then re-opening (with repair) a new socket with the same addresses/ports puts the sequence number 2 lower than set via setsockopt. The third time is 3 lower, etc. I have not tested what the limit of this acrewal is, if any. The fix is, if a socket is in repair mode, to respect the already set sequence number and timestamp when it would have already re-used the TIME-WAIT socket. Signed-off-by: Stefan Baranoff <sbaranoff@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
0 files changed, 0 insertions, 0 deletions