[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221115085358.2230729-1-edumazet@google.com>
Date: Tue, 15 Nov 2022 08:53:54 +0000
From: Eric Dumazet <edumazet@...gle.com>
To: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, eric.dumazet@...il.com,
Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH net-next 0/4] net: add atomic dev->stats infra
Long standing KCSAN issues are caused by data-race around
some dev->stats changes.
Most performance critical paths already use per-cpu
variables, or per-queue ones.
It is reasonable (and more correct) to use atomic operations
for the slow paths.
First patch adds the infrastructure, then three patches address
the most common paths that syzbot is playing with.
Eric Dumazet (4):
net: add atomic_long_t to net_device_stats fields
ipv6/sit: use DEV_STATS_INC() to avoid data-races
ipv6: tunnels: use DEV_STATS_INC()
ipv4: tunnels: use DEV_STATS_INC()
include/linux/netdevice.h | 58 +++++++++++++++++++++++----------------
include/net/dst.h | 5 ++--
net/core/dev.c | 14 ++--------
net/ipv4/ip_gre.c | 10 +++----
net/ipv4/ip_tunnel.c | 32 ++++++++++-----------
net/ipv4/ip_vti.c | 20 +++++++-------
net/ipv4/ipip.c | 2 +-
net/ipv4/ipmr.c | 12 ++++----
net/ipv6/ip6_gre.c | 11 +++-----
net/ipv6/ip6_tunnel.c | 26 ++++++++----------
net/ipv6/ip6_vti.c | 16 +++++------
net/ipv6/ip6mr.c | 10 +++----
net/ipv6/sit.c | 22 +++++++--------
13 files changed, 117 insertions(+), 121 deletions(-)
--
2.38.1.431.g37b22c650d-goog
Powered by blists - more mailing lists