net: net_failover: Fix the deadlock in net_failover_slave_name_change()
Subsystems (4)
PATCH 1/1 net: net_failover: Fix the deadlock in net_failover_slave_name_change()
From: Faicker Mo <[email protected]>
This is a sibling fix of commitb84c5632c7b3 ("net: net_failover: Fix the deadlock in slave register"). There is netdev_lock_ops() in the upper callers, so using netif_open() instead of dev_open().
Call Trace: __schedule+0x2bb/0x650 schedule+0x27/0xb0 schedule_preempt_disabled+0x15/0x30 __mutex_lock.constprop.0+0x550/0xaf0 __mutex_lock_slowpath+0x13/0x20 mutex_lock+0x3b/0x50 dev_open+0x3b/0xe0 net_failover_slave_name_change+0x22/0x40 failover_event+0xd4/0x1e0 notifier_call_chain+0x62/0xf0 raw_notifier_call_chain+0x16/0x30 call_netdevice_notifiers_info+0x50/0x80 netif_change_name+0x200/0x330 do_setlink.isra.0+0xb12/0xdf0 ? security_capable+0x9a/0x1e0 ? ns_capable+0x31/0x60 rtnl_setlink+0x302/0x670 ? netlink_recvmsg+0x296/0x340 ? security_capable+0x9a/0x1e0 ? __pfx_rtnl_setlink+0x10/0x10 rtnetlink_rcv_msg+0x384/0x460 ? __pfx_rtnetlink_rcv_msg+0x10/0x10 netlink_rcv_skb+0x61/0x120 rtnetlink_rcv+0x15/0x30 netlink_unicast+0x28f/0x3c0 netlink_sendmsg+0x216/0x450 __sys_sendto+0x222/0x230 __x64_sys_sendto+0x24/0x40 x64_sys_call+0x1d5d/0x2390 do_syscall_64+0x105/0x5a0 ? do_syscall_64+0x140/0x5a0 ? exc_page_fault+0x94/0x1e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e
--- drivers/net/net_failover.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/net_failover.c +1 -1
@@ -675,7 +675,7 @@ static int net_failover_slave_name_change(struct net_device *slave_dev,/* We need to bring up the slave after the rename by udev in case * open failed with EBUSY when it was registered. */ -dev_open (slave_dev,NULL ); +netif_open (slave_dev,NULL );return 0 ; }
Signature · 1 line
2.53.0
Quoted 64 lines · On Tue, Sep 08, 2026 at 12:06:29PM +0800, [email protected] wrote:
From: Faicker Mo <[email protected]>
This is a sibling fix of commit
b84c5632c7b3("net:net_failover: Fix the deadlock in slave register"). There isnetdev_lock_ops()in the upper callers, so usingnetif_open()instead ofdev_open().Call Trace: __schedule+0x2bb/0x650 schedule+0x27/0xb0 schedule_preempt_disabled+0x15/0x30 __mutex_lock.constprop.0+0x550/0xaf0 __mutex_lock_slowpath+0x13/0x20 mutex_lock+0x3b/0x50 dev_open+0x3b/0xe0 net_failover_slave_name_change+0x22/0x40 failover_event+0xd4/0x1e0 notifier_call_chain+0x62/0xf0 raw_notifier_call_chain+0x16/0x30 call_netdevice_notifiers_info+0x50/0x80 netif_change_name+0x200/0x330 do_setlink.isra.0+0xb12/0xdf0 ? security_capable+0x9a/0x1e0 ? ns_capable+0x31/0x60 rtnl_setlink+0x302/0x670 ? netlink_recvmsg+0x296/0x340 ? security_capable+0x9a/0x1e0 ? __pfx_rtnl_setlink+0x10/0x10 rtnetlink_rcv_msg+0x384/0x460 ? __pfx_rtnetlink_rcv_msg+0x10/0x10 netlink_rcv_skb+0x61/0x120 rtnetlink_rcv+0x15/0x30 netlink_unicast+0x28f/0x3c0 netlink_sendmsg+0x216/0x450 __sys_sendto+0x222/0x230 __x64_sys_sendto+0x24/0x40 x64_sys_call+0x1d5d/0x2390 do_syscall_64+0x105/0x5a0 ? do_syscall_64+0x140/0x5a0 ? exc_page_fault+0x94/0x1e0 entry_SYSCALL_64_after_hwframe+0x76/0x7eFixes 7e4d784f5810 ("net: hold netdev instance lock during rtnetlink operations")Signed-off-by Faicker Mo <[email protected]>--- drivers/net/net_failover.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/net/net_failover.c +1
-1@@ -675,7 +675,7 @@ static int net_failover_slave_name_change(struct net_device *slave_dev,/* We need to bring up the slave after the rename by udev in case * open failed with EBUSY when it was registered. */ -dev_open (slave_dev,NULL ); +netif_open (slave_dev,NULL );return 0 ; }Signature · 1 line
2.53.0
This patch was applied to netdev/net.git (main) by Paolo Abeni <[email protected]>:
Hello:
This patch was applied to netdev/net.git (main)
by Paolo Abeni <[email protected]>:
Quoted 8 lines · On Tue, 8 Sep 2026 12:06:29 +0800 you wrote:
From: Faicker Mo <[email protected]>
This is a sibling fix of commit
b84c5632c7b3("net:net_failover: Fix the deadlock in slave register"). There isnetdev_lock_ops()in the upper callers, so usingnetif_open()instead ofdev_open().[...]
Here is the summary with links:
- net: net_failover: Fix the deadlock in net_failover_slave_name_change()
https://git.kernel.org/netdev/net/c/985a663bf007
You are awesome, thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html