• Eric Dumazet's avatar
    tcp: fastopen: call tcp_fin() if FIN present in SYNACK · e3e17b77
    Eric Dumazet authored
    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: 61d2bcae ("tcp: fastopen: accept data/FIN present in SYNACK message")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e3e17b77
tcp_fastopen.c 8.73 KB