Syzkaller managed to trigger lock dependency in xsk_notify via
register_netdevice. As discussed in [0], using register_netdevice
in the notifiers is problematic so skip adding lapbeth for ops-locked
devices.
xsk_notifier+0xa4/0x280 net/xdp/xsk.c:1645
notifier_call_chain+0xbc/0x410 kernel/notifier.c:85
call_netdevice_notifiers_info+0xbe/0x140 net/core/dev.c:2230
call_netdevice_notifiers_extack net/core/dev.c:2268 [inline]
call_netdevice_notifiers net/core/dev.c:2282 [inline]
unregister_netdevice_many_notify+0xf9d/0x2700 net/core/dev.c:12077
unregister_netdevice_many net/core/dev.c:12140 [inline]
unregister_netdevice_queue+0x305/0x3f0 net/core/dev.c:11984
register_netdevice+0x18f1/0x2270 net/core/dev.c:11149
lapbeth_new_device drivers/net/wan/lapbether.c:420 [inline]
lapbeth_device_event+0x5b1/0xbe0 drivers/net/wan/lapbether.c:462
notifier_call_chain+0xbc/0x410 kernel/notifier.c:85
call_netdevice_notifiers_info+0xbe/0x140 net/core/dev.c:2230
call_netdevice_notifiers_extack net/core/dev.c:2268 [inline]
call_netdevice_notifiers net/core/dev.c:2282 [inline]
__dev_notify_flags+0x12c/0x2e0 net/core/dev.c:9497
netif_change_flags+0x108/0x160 net/core/dev.c:9526
dev_change_flags+0xba/0x250 net/core/dev_api.c:68
devinet_ioctl+0x11d5/0x1f50 net/ipv4/devinet.c:1200
inet_ioctl+0x3a7/0x3f0 net/ipv4/af_inet.c:1001
0: https://lore.kernel.org/netdev/20250625140357.6203d0af@kernel.org/
Fixes:
|
||
|---|---|---|
| .. | ||
| framer | ||
| .gitignore | ||
| Kconfig | ||
| Makefile | ||
| c101.c | ||
| farsync.c | ||
| farsync.h | ||
| fsl_qmc_hdlc.c | ||
| fsl_ucc_hdlc.c | ||
| fsl_ucc_hdlc.h | ||
| hd64570.c | ||
| hd64570.h | ||
| hd64572.c | ||
| hd64572.h | ||
| hdlc.c | ||
| hdlc_cisco.c | ||
| hdlc_fr.c | ||
| hdlc_ppp.c | ||
| hdlc_raw.c | ||
| hdlc_raw_eth.c | ||
| hdlc_x25.c | ||
| ixp4xx_hss.c | ||
| lapbether.c | ||
| n2.c | ||
| pc300too.c | ||
| pci200syn.c | ||
| slic_ds26522.c | ||
| slic_ds26522.h | ||
| wanxl.c | ||
| wanxl.h | ||
| wanxlfw.S | ||
| wanxlfw.inc_shipped | ||