[PATCH net 00/10] net: Move setting of netops to fix crash
Jijie Shao
shaojijie at huawei.com
Thu Oct 8 05:10:51 PDT 2026
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 at 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(-)
>
More information about the linux-arm-kernel
mailing list