net/packet: remove data races in fanout operations
authorEric Dumazet <edumazet@google.com>
Wed, 14 Apr 2021 19:36:44 +0000 (12:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 14 Apr 2021 21:34:38 +0000 (14:34 -0700)
commit94f633ea8ade8418634d152ad0931133338226f6
treec019e8e3ca087c7ffb9a076508b8f25d2726893e
parentae1ea84b33dab45c7b6c1754231ebda5959b504c
net/packet: remove data races in fanout operations

af_packet fanout uses RCU rules to ensure f->arr elements
are not dismantled before RCU grace period.

However, it lacks rcu accessors to make sure KCSAN and other tools
wont detect data races. Stupid compilers could also play games.

Fixes: dc99f600698d ("packet: Add fanout support.")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: "Gong, Sishuai" <sishuai@purdue.edu>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c
net/packet/internal.h