Skip to content

net: ethtool: make sure __ethtool_get_link_ksettings() is ops-locked

Jakub Kicinski linux-leds netdev 1 version Applied

Status from this message: This series was applied to netdev/net-next.git (main)

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest11 patches 15 repliesApplied 11/11

Patches in v2 All 11 applied

#Subject and filesSizeRepliesApplied
1/11net: rename netdev_ops_assert_locked()drivers/net/ethernet/broadcom/bnxt/bnxt.c include/net/netdev_lock.h net/core/dev.c +7 more+25 -253 repliesApplied
2/11net: ethtool: cmis_cdb: hold instance lock for ops locked devicesinclude/net/netdev_lock.h net/ethtool/cmis_cdb.c net/ethtool/cmis_fw_update.c +1 more+13 -61 replyApplied
3/11net: document NETDEV_CHANGENAME as ops lockedDocumentation/networking/netdevices.rst net/core/lock_debug.c+2 -02 repliesApplied
4/11net: ethtool: add netif_get_link_ksettings() for correct ops-locked useinclude/linux/ethtool.h net/ethtool/ioctl.c net/ethtool/linkinfo.c +1 more+20 -72 repliesApplied
5/11net: bonding: don't recurse on the slave's netdev ops lockdrivers/net/bonding/bond_main.c+16 -51 replyApplied
6/11net: team: don't recurse on the port's netdev ops lockdrivers/net/team/team_core.c+3 -10 repliesApplied
7/11net: bridge: don't recurse on the port's netdev ops locknet/bridge/br_if.c+5 -23 repliesApplied
8/11net: sched: don't recurse on the netdev ops lock in qdiscsnet/sched/sch_cbs.c net/sched/sch_taprio.c+2 -21 replyApplied
9/11leds: trigger: netdev: don't recurse on the netdev ops lockdrivers/leds/trigger/ledtrig-netdev.c+21 -160 repliesApplied
10/11scsi: fcoe: don't recurse on the netdev's ops lockdrivers/scsi/bnx2fc/bnx2fc_fcoe.c drivers/scsi/fcoe/fcoe.c drivers/scsi/fcoe/fcoe_transport.c+10 -30 repliesApplied
11/11net: ethtool: make sure __ethtool_get_link_ksettings() is ops-lockednet/ethtool/ioctl.c+7 -32 repliesApplied

Reviews trailers per patch

8 of 11 patches have a Reviewed-by or Acked-by.

PatchJakub SitnickiMaxime ChevallierNicolai BuchwitzNikolay AleksandrovIdo SchimmelStanislav FomichevVinicius Costa Gomes
1/11R-b R-b A-b
2/11R-b A-b
3/11R-b A-b
4/11R-b A-b
5/11R-b
6/11
7/11R-b A-b R-b
8/11A-b
9/11
10/11
11/11R-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 7 reviewers.

Read the v2 thread

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

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 protected]

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(-)
Signature · 1 line
2.54.0