]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: fix req->saved_syn race
authorEric Dumazet <edumazet@google.com>
Thu, 5 Nov 2015 19:07:13 +0000 (11:07 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Nov 2015 19:36:09 +0000 (14:36 -0500)
commit16d6870ee0ef23061d9711c7907924758fe58a49
tree6e753b369a8f3663b5a50d3174b1a6fe0495714f
parent95f5598a992da31c5d5afd5d02c17473a2befd0b
tcp: fix req->saved_syn race

For the reasons explained in commit 66c403226683 ("tcp/dccp: fix
ireq->pktopts race"), we need to make sure we do not access
req->saved_syn unless we own the request sock.

This fixes races for listeners using TCP_SAVE_SYN option.

Fixes: d3095cf46591 ("tcp: do not lock listener to process SYN packets")
Fixes: abe93be0399c ("tcp/dccp: install syn_recv requests into ehash table")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Ying Cai <ycai@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/tcp.h
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_minisocks.c
net/ipv6/tcp_ipv6.c