net: add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head
authorEric Dumazet <edumazet@google.com>
Wed, 9 Oct 2019 21:51:20 +0000 (14:51 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:51:18 +0000 (14:51 +0100)
commitb0fb910bfdf469fa5016e939c778cfb566be2e33
tree6d5e14ac2601d8a8c875d7a6b399a8fc7d4ef716
parent910699a81fe572b41cc23b46b0616ce7878f5237
net: add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head

[ Upstream commit 60b173ca3d1cd1782bd0096dc17298ec242f6fb1 ]

reqsk_queue_empty() is called from inet_csk_listen_poll() while
other cpus might write ->rskq_accept_head value.

Use {READ|WRITE}_ONCE() to avoid compiler tricks
and potential KCSAN splats.

Fixes: fff1f3001cc5 ("tcp: add a spinlock to protect struct request_sock_queue")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/xen/pvcalls-back.c
include/net/request_sock.h
net/ipv4/inet_connection_sock.c