]> www.infradead.org Git - users/jedix/linux-maple.git/commit
inet: fix races in reqsk_queue_hash_req()
authorEric Dumazet <edumazet@google.com>
Sat, 19 Sep 2015 16:48:04 +0000 (09:48 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Oct 2015 00:51:49 +0000 (09:51 +0900)
commit31b8abd140ad0be5f63bae0e4e6beb9d52b16f85
tree3562dc6ce58daa709a8634feab8b0cb7fcda042d
parent9bdfdea4cc4617aaa3a4f291904fe85e6ca2c9a6
inet: fix races in reqsk_queue_hash_req()

[ Upstream commit 29c6852602e259d2c1882f320b29d5c3fec0de04 ]

Before allowing lockless LISTEN processing, we need to make
sure to arm the SYN_RECV timer before the req socket is visible
in hash tables.

Also, req->rsk_hash should be written before we set rsk_refcnt
to a non zero value.

Fixes: fa76ce7328b2 ("inet: get rid of central tcp/dccp listener timer")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Ying Cai <ycai@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/inet_connection_sock.c