From: Jakub Kicinski Date: Thu, 25 Jun 2026 17:09:02 +0000 (-0700) Subject: Merge branch 'net-avoid-nested-up-notifier-events' X-Git-Tag: v7.2-rc1~29^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe9f4ee6c61a1410afd73bf011de5ae618004796;p=thirdparty%2Flinux.git Merge branch 'net-avoid-nested-up-notifier-events' Jakub Kicinski says: ==================== net: avoid nested UP notifier events syzbot reported that recent ethtool rework leads to deadlock on stacked devices. VLANs create nested notifications, confusing execution context. Bringing up dummy causes vlan to bring itself up as well. Which in turn causes bond to ask for link state - a call chain traveling in the opposite direction. bond (3) bond_update_speed_duplex(vlan) | ^ v vlan (2) UP(vlan) (4) vlan_ethtool_get_link_ksettings() | ^ v dummy (1) UP(dummy) (5) __ethtool_get_link_ksettings() We locked the instance lock of dummy at (1) and will will try to lock it again at (5) - which of course deadlocks. For non-nested notifications this is avoided because NETDEV_UP is always run ops-locked (so that bond asks for link using the netif_ API which assumes instance lock already held). The nesting, however, makes this problematic, we cannot carry the state of the whole chain back in the opposite direction. AFAICT vlan is the only driver which causes such issues. So let's try a localized fix of deferring vlan auto-open to a workqueue. ==================== Link: https://patch.msgid.link/20260624182018.2445732-1-kuba@kernel.org Signed-off-by: Jakub Kicinski --- fe9f4ee6c61a1410afd73bf011de5ae618004796