[PATCH net-next v2 00/11] net: ethtool: make sure __ethtool_get_link_ksettings() is ops-locked
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-06-03 01:28:48
Also in:
linux-leds
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/20260528231637.251822-1-kuba@kernel.org (local) 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