]> Git Repo - linux.git/commit - net/ipv4/tcp_fastopen.c
tcp: fastopen: call tcp_fin() if FIN present in SYNACK
authorEric Dumazet <[email protected]>
Sat, 6 Feb 2016 19:16:28 +0000 (11:16 -0800)
committerDavid S. Miller <[email protected]>
Sat, 6 Feb 2016 21:49:58 +0000 (16:49 -0500)
commite3e17b773bfe45462b7f3fae20c550025975cb13
tree88f3bed2189c90a3eae7c2dbde31ca614da95e6e
parent9a23ac475cd98a1155ce16a8fab4d28e171c0d9d
tcp: fastopen: call tcp_fin() if FIN present in SYNACK

When we acknowledge a FIN, it is not enough to ack the sequence number
and queue the skb into receive queue. We also have to call tcp_fin()
to properly update socket state and send proper poll() notifications.

It seems we also had the problem if we received a SYN packet with the
FIN flag set, but it does not seem an urgent issue, as no known
implementation can do that.

Fixes: 61d2bcae99f6 ("tcp: fastopen: accept data/FIN present in SYNACK message")
Signed-off-by: Eric Dumazet <[email protected]>
Cc: Yuchung Cheng <[email protected]>
Cc: Neal Cardwell <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/net/tcp.h
net/ipv4/tcp_fastopen.c
net/ipv4/tcp_input.c
This page took 0.054493 seconds and 4 git commands to generate.