ipv6: Fix data races around sk->sk_prot.
authorKuniyuki Iwashima <kuniyu@amazon.com>
Thu, 6 Oct 2022 18:53:48 +0000 (11:53 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 13 Oct 2022 00:50:37 +0000 (17:50 -0700)
commit364f997b5cfe1db0d63a390fe7c801fa2b3115f6
tree50c240c1c6b235eef2930d133396fb19cfd34127
parentd38afeec26ed4739c640bf286c270559aab2ba5f
ipv6: Fix data races around sk->sk_prot.

Commit 086d49058cd8 ("ipv6: annotate some data-races around sk->sk_prot")
fixed some data-races around sk->sk_prot but it was not enough.

Some functions in inet6_(stream|dgram)_ops still access sk->sk_prot
without lock_sock() or rtnl_lock(), so they need READ_ONCE() to avoid
load tearing.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/sock.c
net/ipv4/af_inet.c
net/ipv6/ipv6_sockglue.c