netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net v2 00/11] net: hold instance lock during NETDEV_UP/REGISTER/UNREGISTER
@ 2025-03-27 13:56 Stanislav Fomichev
  2025-03-27 13:56 ` [PATCH net v2 01/11] net: switch to netif_disable_lro in inetdev_init Stanislav Fomichev
                   ` (11 more replies)
  0 siblings, 12 replies; 38+ messages in thread
From: Stanislav Fomichev @ 2025-03-27 13:56 UTC (permalink / raw)
  To: netdev; +Cc: davem, edumazet, kuba, pabeni

Solving the issue reported by Cosmin in [0] requires consistent
lock during NETDEV_UP/REGISTER/UNREGISTER notifiers. This series
addresses that (along with some other fixes in net/ipv4/devinet.c
and net/ipv6/addrconf.c) and appends the patches from Jakub
that were conditional on locked NETDEV_UNREGISTER.

0: https://lore.kernel.org/netdev/700fa36b94cbd57cfea2622029b087643c80cbc9.camel@nvidia.com/

v2:
- export netdev_get_by_index_lock
- new patch: add netdev_lockdep_set_classes to mlx5
- new patch: exercise notifiers in netdevsim
- ignore specific locked netdev in call_netdevice_register_notifiers,
  not all

Jakub Kicinski (3):
  net: designate XSK pool pointers in queues as "ops protected"
  netdev: add "ops compat locking" helpers
  netdev: don't hold rtnl_lock over nl queue info get when possible

Stanislav Fomichev (8):
  net: switch to netif_disable_lro in inetdev_init
  net: hold instance lock during NETDEV_REGISTER/UP/UNREGISTER
  net: use netif_disable_lro in ipv6_add_dev
  net: release instance lock during NETDEV_UNREGISTER for bond/team
  net/mlx5e: use netdev_lockdep_set_classes
  netdevsim: add dummy device notifiers
  net: dummy: request ops lock
  docs: net: document netdev notifier expectations

 Documentation/networking/netdevices.rst       |  18 +++
 drivers/net/bonding/bond_main.c               |   2 +
 drivers/net/dummy.c                           |   1 +
 .../net/ethernet/mellanox/mlx5/core/en_main.c |   2 +
 drivers/net/netdevsim/netdev.c                |  58 +++++++++
 drivers/net/netdevsim/netdevsim.h             |   3 +
 drivers/net/team/team_core.c                  |   2 +
 include/linux/netdevice.h                     |   2 +
 include/net/netdev_lock.h                     |  16 +++
 include/net/netdev_rx_queue.h                 |   6 +-
 net/core/dev.c                                | 117 ++++++++++++++----
 net/core/dev.h                                |  16 ++-
 net/core/netdev-genl.c                        |  18 ++-
 net/ipv4/devinet.c                            |   2 +-
 net/ipv6/addrconf.c                           |  17 ++-
 net/xdp/xsk_buff_pool.c                       |   7 +-
 16 files changed, 245 insertions(+), 42 deletions(-)

-- 
2.48.1


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

end of thread, other threads:[~2025-03-31  8:01 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-27 13:56 [PATCH net v2 00/11] net: hold instance lock during NETDEV_UP/REGISTER/UNREGISTER Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 01/11] net: switch to netif_disable_lro in inetdev_init Stanislav Fomichev
2025-03-27 18:40   ` Jakub Kicinski
2025-03-27 18:59   ` Jakub Kicinski
2025-03-27 21:09     ` Stanislav Fomichev
2025-03-27 21:36       ` Jakub Kicinski
2025-03-28 15:01         ` Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 02/11] net: hold instance lock during NETDEV_REGISTER/UP/UNREGISTER Stanislav Fomichev
2025-03-27 18:58   ` Jakub Kicinski
2025-03-27 13:56 ` [PATCH net v2 03/11] net: use netif_disable_lro in ipv6_add_dev Stanislav Fomichev
2025-03-27 19:02   ` Jakub Kicinski
2025-03-27 21:06     ` Stanislav Fomichev
2025-03-27 21:37       ` Jakub Kicinski
2025-03-28 15:01         ` Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 04/11] net: release instance lock during NETDEV_UNREGISTER for bond/team Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 05/11] net/mlx5e: use netdev_lockdep_set_classes Stanislav Fomichev
2025-03-27 19:08   ` Jakub Kicinski
2025-03-27 21:05     ` Stanislav Fomichev
2025-03-31  8:01       ` Cosmin Ratiu
2025-03-27 13:56 ` [PATCH net v2 06/11] netdevsim: add dummy device notifiers Stanislav Fomichev
2025-03-27 19:12   ` Jakub Kicinski
2025-03-27 21:04     ` Stanislav Fomichev
2025-03-27 21:46       ` Jakub Kicinski
2025-03-28  6:03         ` Kuniyuki Iwashima
2025-03-28 15:07           ` Stanislav Fomichev
2025-03-28 15:04         ` Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 07/11] net: dummy: request ops lock Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 08/11] docs: net: document netdev notifier expectations Stanislav Fomichev
2025-03-27 19:16   ` Jakub Kicinski
2025-03-27 19:34     ` Jakub Kicinski
2025-03-27 20:57       ` Stanislav Fomichev
2025-03-27 21:50         ` Jakub Kicinski
2025-03-28 15:03           ` Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 09/11] net: designate XSK pool pointers in queues as "ops protected" Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 10/11] netdev: add "ops compat locking" helpers Stanislav Fomichev
2025-03-27 13:56 ` [PATCH net v2 11/11] netdev: don't hold rtnl_lock over nl queue info get when possible Stanislav Fomichev
2025-03-28  8:07 ` [PATCH net v2 00/11] net: hold instance lock during NETDEV_UP/REGISTER/UNREGISTER Taehee Yoo
2025-03-28 15:43   ` Stanislav Fomichev

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).