Thread (20 messages) 20 messages, 5 authors, 1d ago

Re: [PATCH net 00/10] net: Move setting of netops to fix crash

flat view

From: Jijie Shao <shaojijie@huawei.com>
Date: 2026-10-08 12:11:16
Also in: linux-arm-kernel, lkml

on 2026/10/8 10:26, David Yang wrote:
Commit ded86da4bbb7 ("net: ethtool: relax ethnl_req_get_phydev()
locking assertion") put a netdev_need_ops_lock() check on the
phy_attach_direct() path, in phy_link_topo_add_phy(). With
CONFIG_NET_SHAPER enabled netdev_need_ops_lock() reads
dev->netdev_ops->net_shaper_ops, so any driver that connects a PHY
before assigning ndev->netdev_ops now dies with a NULL pointer
dereference at probe time. The breakage showed up in v7.3-rc1.

ibm/emac was hit first and fixed by commit 7c9f391ec89c ("net: emac:
move setting of netops to fix crash"). These ten patches apply the
same one-line move to the remaining in-tree drivers whose probe path
attaches a PHY before filling in netdev_ops:

   1. hisilicon/hisi_femac   (crash reproduced on hardware)
   2. hisilicon/hip04
   3. actions/owl-emac
   4. adi/adin1140
   5. marvell/mv643xx_eth
   6. amd/au1000_eth
   7. ethoc
   8. aeroflex/greth
   9. ti/icssm-prueth
  10. microchip/lan865x      (attach happens inside oa_tc6_init())

Only patch 1 was reproduced and verified on hardware; patches 2-10
were found by source inspection and are neither build nor boot
tested.

Note that ti/netcp_ethss and cavium/thunder_bgx attach a PHY to
netdevs that never get a netdev_ops at all (dummy netdevs), so they
cannot be fixed by reordering and are not addressed here.

David Yang (10):
   net: hisilicon: hisi_femac: Move setting of netops to fix crash
   net: hisilicon: hip04_eth: Move setting of netops to fix crash
   net: ethernet: actions: Move setting of netops to fix crash
   net: ethernet: adi: Move setting of netops to fix crash
   net: mv643xx: move setting of netops to fix crash
   net: au1000: move setting of netops to fix crash
   net: ethoc: move setting of netops to fix crash
   net: ethernet: aeroflex: move setting of netops to fix crash
   net: ti: icssm-prueth: Move setting of netops to fix crash
   microchip: lan865x: move setting of netops to fix crash
Why isn't the subject of the last patch "net: microchip: lan865x..."
But overall, it's okay.

Reviewed-by: Jijie Shao <shaojijie@huawei.com>

  drivers/net/ethernet/actions/owl-emac.c          | 3 ++-
  drivers/net/ethernet/adi/adin1140.c              | 3 ++-
  drivers/net/ethernet/aeroflex/greth.c            | 3 ++-
  drivers/net/ethernet/amd/au1000_eth.c            | 3 ++-
  drivers/net/ethernet/ethoc.c                     | 3 ++-
  drivers/net/ethernet/hisilicon/hip04_eth.c       | 3 ++-
  drivers/net/ethernet/hisilicon/hisi_femac.c      | 3 ++-
  drivers/net/ethernet/marvell/mv643xx_eth.c       | 4 ++--
  drivers/net/ethernet/microchip/lan865x/lan865x.c | 3 ++-
  drivers/net/ethernet/ti/icssm/icssm_prueth.c     | 3 ++-
  10 files changed, 20 insertions(+), 11 deletions(-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help