• Eric Dumazet's avatar
    tcp/dccp: fix ireq->pktopts race · ce105008
    Eric Dumazet authored
    IPv6 request sockets store a pointer to skb containing the SYN packet
    to be able to transfer it to full blown socket when 3WHS is done
    (ireq->pktopts -> np->pktoptions)
    
    As explained in commit 5e0724d0 ("tcp/dccp: fix hashdance race for
    passive sessions"), we must transfer the skb only if we won the
    hashdance race, if multiple cpus receive the 'ack' packet completing
    3WHS at the same time.
    
    Fixes: e994b2f0 ("tcp: do not lock listener to process SYN packets")
    Fixes: 079096f1 ("tcp/dccp: install syn_recv requests into ehash table")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ce105008
tcp_ipv6.c 49.4 KB