OSDN Git Service

net: use rcu_dereference_protected to fetch sk_dst_cache in sk_destruct
authorXin Long <lucien.xin@gmail.com>
Sun, 31 Mar 2019 09:03:02 +0000 (17:03 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Apr 2019 01:10:51 +0000 (18:10 -0700)
commit5869b8fadad0be948e310c456f111c4103f5fbfb
treef74def4622ce45ed84f1ddf9fc34bd85f7e22010
parentb6163f194c699ff75fa6aa4565b1eb8946c2c652
net: use rcu_dereference_protected to fetch sk_dst_cache in sk_destruct

As Eric noticed, in .sk_destruct, sk->sk_dst_cache update is prevented, and
no barrier is needed for this. So change to use rcu_dereference_protected()
instead of rcu_dereference_check() to fetch sk_dst_cache in there.

v1->v2:
  - no change, repost after net-next is open.

Reported-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/decnet/af_decnet.c
net/ipv4/af_inet.c