Subject: [PATCH net-next v2 00/11] net: ethtool: make sure __ethtool_get_link_ksettings() is ops-locked

From: Jakub Kicinski <[email-masked]>
Date: Tue, 2 Jun 2026 18:28:29 -0700

This is prep for the series which will make most of the ethtool ops
run without rtnl_lock. The AI bots surfaced a number of callers of
__ethtool_get_link_ksettings() which need fixing, so I decided to
send that as a smaller prep-series. Each driver changed separately
for ease of review.

Full series unlocking ethtool ops AKA v1:: 
https://lore.kernel.org/[email-masked]

Jakub Kicinski (11):
  net: rename netdev_ops_assert_locked()
  net: ethtool: cmis_cdb: hold instance lock for ops locked devices
  net: document NETDEV_CHANGENAME as ops locked
  net: ethtool: add netif_get_link_ksettings() for correct ops-locked
    use
  net: bonding: don't recurse on the slave's netdev ops lock
  net: team: don't recurse on the port's netdev ops lock
  net: bridge: don't recurse on the port's netdev ops lock
  net: sched: don't recurse on the netdev ops lock in qdiscs
  leds: trigger: netdev: don't recurse on the netdev ops lock
  scsi: fcoe: don't recurse on the netdev's ops lock
  net: ethtool: make sure __ethtool_get_link_ksettings() is ops-locked

 Documentation/networking/netdevices.rst   |  1 +
 include/linux/ethtool.h                   |  2 ++
 include/net/netdev_lock.h                 | 12 ++++++--
 drivers/leds/trigger/ledtrig-netdev.c     | 37 +++++++++++++----------
 drivers/net/bonding/bond_main.c           | 21 ++++++++++---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c |  2 +-
 drivers/net/team/team_core.c              |  4 ++-
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c         |  3 ++
 drivers/scsi/fcoe/fcoe.c                  |  6 ++--
 drivers/scsi/fcoe/fcoe_transport.c        |  4 ++-
 net/bridge/br_if.c                        |  7 +++--
 net/core/dev.c                            | 26 ++++++++--------
 net/core/dev_addr_lists.c                 |  2 +-
 net/core/link_watch.c                     |  2 +-
 net/core/lock_debug.c                     |  3 +-
 net/core/netdev_queues.c                  |  2 +-
 net/ethtool/cmis_cdb.c                    |  3 ++
 net/ethtool/cmis_fw_update.c              |  8 ++---
 net/ethtool/ioctl.c                       | 21 +++++++++++--
 net/ethtool/linkinfo.c                    |  4 +--
 net/ethtool/linkmodes.c                   |  4 +--
 net/ethtool/module.c                      |  2 ++
 net/ethtool/netlink.c                     |  4 +--
 net/ipv6/addrconf.c                       |  2 +-
 net/sched/sch_cbs.c                       |  2 +-
 net/sched/sch_taprio.c                    |  2 +-
 net/xdp/xsk_buff_pool.c                   |  2 +-
 27 files changed, 121 insertions(+), 67 deletions(-)

-- 
2.54.0