netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 00/16] net: first round to use dev_net_rcu()
@ 2025-01-31 17:13 Eric Dumazet
  2025-01-31 17:13 ` [PATCH net 01/16] net: add dev_net_rcu() helper Eric Dumazet
                   ` (15 more replies)
  0 siblings, 16 replies; 35+ messages in thread
From: Eric Dumazet @ 2025-01-31 17:13 UTC (permalink / raw)
  To: David S . Miller, Jakub Kicinski, Paolo Abeni
  Cc: netdev, Kuniyuki Iwashima, Simon Horman, eric.dumazet,
	Eric Dumazet

dev_net(dev) should either be protected by RTNL or RCU.

There is no LOCKDEP support yet for this helper.

Adding it would trigger too many splats.

Instead, add dev_net_rcu() and start to use it
to either fix bugs or document points that were safely
using dev_net().

Eric Dumazet (16):
  net: add dev_net_rcu() helper
  ipv4: add RCU protection to ip4_dst_hoplimit()
  ipv4: use RCU protection in ip_dst_mtu_maybe_forward()
  ipv4: use RCU protection in ipv4_default_advmss()
  ipv4: use RCU protection in rt_is_expired()
  tcp: convert to dev_net_rcu()
  net: gro: convert four dev_net() calls
  udp: convert to dev_net_rcu()
  ipv4: icmp: convert to dev_net_rcu()
  ipv6: icmp: convert to dev_net_rcu()
  ipv6: input: convert to dev_net_rcu()
  ipv6: output: convert to dev_net_rcu()
  ipv6: use RCU protection in ip6_default_advmss()
  net: filter: convert to dev_net_rcu()
  flow_dissector: use rcu protection to fetch dev_net()
  ipv4: use RCU protection in inet_select_addr()

 include/linux/netdevice.h      |  6 +++++
 include/net/inet6_hashtables.h |  2 +-
 include/net/inet_hashtables.h  |  2 +-
 include/net/ip.h               | 13 ++++++++---
 include/net/net_namespace.h    |  2 +-
 include/net/route.h            |  9 ++++++--
 net/core/filter.c              | 40 +++++++++++++++++-----------------
 net/core/flow_dissector.c      | 21 +++++++++---------
 net/ipv4/devinet.c             |  3 ++-
 net/ipv4/icmp.c                | 22 +++++++++----------
 net/ipv4/route.c               | 19 ++++++++++++----
 net/ipv4/tcp_ipv4.c            |  8 +++----
 net/ipv4/tcp_metrics.c         |  6 ++---
 net/ipv4/tcp_offload.c         |  2 +-
 net/ipv4/udp.c                 | 19 ++++++++--------
 net/ipv4/udp_offload.c         |  2 +-
 net/ipv6/icmp.c                | 22 +++++++++----------
 net/ipv6/ip6_input.c           | 12 +++++-----
 net/ipv6/ip6_output.c          |  4 ++--
 net/ipv6/output_core.c         |  2 +-
 net/ipv6/route.c               |  7 +++++-
 net/ipv6/tcp_ipv6.c            | 10 ++++-----
 net/ipv6/tcpv6_offload.c       |  2 +-
 net/ipv6/udp.c                 | 18 +++++++--------
 net/ipv6/udp_offload.c         |  2 +-
 25 files changed, 146 insertions(+), 109 deletions(-)

-- 
2.48.1.362.g079036d154-goog


^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2025-02-03 10:12 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-31 17:13 [PATCH net 00/16] net: first round to use dev_net_rcu() Eric Dumazet
2025-01-31 17:13 ` [PATCH net 01/16] net: add dev_net_rcu() helper Eric Dumazet
2025-01-31 18:29   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 02/16] ipv4: add RCU protection to ip4_dst_hoplimit() Eric Dumazet
2025-01-31 18:34   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 03/16] ipv4: use RCU protection in ip_dst_mtu_maybe_forward() Eric Dumazet
2025-01-31 18:47   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 04/16] ipv4: use RCU protection in ipv4_default_advmss() Eric Dumazet
2025-01-31 18:51   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 05/16] ipv4: use RCU protection in rt_is_expired() Eric Dumazet
2025-01-31 19:00   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 06/16] tcp: convert to dev_net_rcu() Eric Dumazet
2025-01-31 19:03   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 07/16] net: gro: convert four dev_net() calls Eric Dumazet
2025-01-31 19:05   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 08/16] udp: convert to dev_net_rcu() Eric Dumazet
2025-01-31 19:10   ` Kuniyuki Iwashima
2025-02-03  9:33     ` Eric Dumazet
2025-01-31 17:13 ` [PATCH net 09/16] ipv4: icmp: " Eric Dumazet
2025-01-31 19:12   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 10/16] ipv6: " Eric Dumazet
2025-01-31 19:15   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 11/16] ipv6: input: " Eric Dumazet
2025-01-31 19:21   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 12/16] ipv6: output: " Eric Dumazet
2025-01-31 19:26   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 13/16] ipv6: use RCU protection in ip6_default_advmss() Eric Dumazet
2025-01-31 19:35   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 14/16] net: filter: convert to dev_net_rcu() Eric Dumazet
2025-01-31 19:37   ` Kuniyuki Iwashima
2025-01-31 17:13 ` [PATCH net 15/16] flow_dissector: use rcu protection to fetch dev_net() Eric Dumazet
2025-01-31 19:46   ` Kuniyuki Iwashima
2025-02-03 10:09     ` Eric Dumazet
2025-02-02  2:18 ` [PATCH net 00/16] net: first round to use dev_net_rcu() Jakub Kicinski
2025-02-03 10:12   ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).