[syzbot] [net?] [usb?] WARNING: suspicious RCU usage in phy_detach
From: syzbot <hidden>
Date: 2026-09-03 21:10:24
Also in:
linux-usb, lkml
Hello, syzbot found the following issue on: HEAD commit: edc1518454f6 usb: typec: hd3ss3220: Add support for supply.. git tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing console output: https://syzkaller.appspot.com/x/log.txt?x=150248f9580000 kernel config: https://syzkaller.appspot.com/x/.config?x=c451f9f64434b622 dashboard link: https://syzkaller.appspot.com/bug?extid=694b49f41098a5df4fd7 compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14734b49580000 Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/7b8a8fc7809a/disk-edc15184.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/6ff1ab9249a0/vmlinux-edc15184.xz kernel image: https://storage.googleapis.com/syzbot-assets/249551c4918b/bzImage-edc15184.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+694b49f41098a5df4fd7@syzkaller.appspotmail.com asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 ============================= WARNING: suspicious RCU usage syzkaller #0 Not tainted ----------------------------- drivers/net/phy/phy_device.c:1944 suspicious rcu_dereference_protected() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 locks held by kworker/1:1/29: 5, last CPU#1: #0: ffff8881066e8940 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x1466/0x1b10 kernel/workqueue.c:3362 #1: ffffc900001f7d18 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0xa2c/0x1b10 kernel/workqueue.c:3363 #2: ffff88810abc71d8 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:1104 [inline] #2: ffff88810abc71d8 (&dev->mutex){....}-{4:4}, at: hub_event+0x1bb/0x4510 drivers/usb/core/hub.c:5912 #3: ffff888106f7f1d8 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:1104 [inline] #3: ffff888106f7f1d8 (&dev->mutex){....}-{4:4}, at: __device_attach+0x7e/0x4d0 drivers/base/dd.c:1073 #4: ffff8881057351a0 (&dev->mutex){....}-{4:4}, at: device_lock include/linux/device.h:1104 [inline] #4: ffff8881057351a0 (&dev->mutex){....}-{4:4}, at: __device_attach+0x7e/0x4d0 drivers/base/dd.c:1073 stack backtrace: CPU: 1 UID: 0 PID: 29 Comm: kworker/1:1 Not tainted syzkaller #0 PREEMPT(lazy) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Workqueue: usb_hub_wq hub_event Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120 lockdep_rcu_suspicious.cold+0x4f/0xb2 kernel/locking/lockdep.c:6938 phy_detach+0x517/0x640 drivers/net/phy/phy_device.c:1944 phylink_connect_phy drivers/net/phy/phylink.c:2251 [inline] phylink_connect_phy+0x22e/0x2b0 drivers/net/phy/phylink.c:2235 ax88772_init_phy drivers/net/usb/asix_devices.c:714 [inline] ax88772_bind+0xbb1/0x1520 drivers/net/usb/asix_devices.c:925 usbnet_probe+0xbb3/0x27e0 drivers/net/usb/usbnet.c:1808 usb_probe_interface+0x386/0x9b0 drivers/usb/core/driver.c:399 call_driver_probe drivers/base/dd.c:628 [inline] really_probe+0x241/0xa60 drivers/base/dd.c:706 __driver_probe_device+0x210/0x460 drivers/base/dd.c:868 driver_probe_device+0x4a/0x140 drivers/base/dd.c:898 __device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026 bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500 __device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098 device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x64/0x160 drivers/base/bus.c:620 device_add+0x121d/0x1970 drivers/base/core.c:3776 usb_set_configuration+0xd97/0x1c60 drivers/usb/core/message.c:2268 usb_generic_driver_probe+0xa1/0xe0 drivers/usb/core/generic.c:250 usb_probe_device+0xef/0x400 drivers/usb/core/driver.c:293 call_driver_probe drivers/base/dd.c:628 [inline] really_probe+0x241/0xa60 drivers/base/dd.c:706 __driver_probe_device+0x210/0x460 drivers/base/dd.c:868 driver_probe_device+0x4a/0x140 drivers/base/dd.c:898 __device_attach_driver+0x1df/0x320 drivers/base/dd.c:1026 bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500 __device_attach+0x1e4/0x4d0 drivers/base/dd.c:1098 device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1153 bus_probe_device+0x64/0x160 drivers/base/bus.c:620 device_add+0x121d/0x1970 drivers/base/core.c:3776 usb_new_device.part.0+0xcc2/0x1686 drivers/usb/core/hub.c:2708 usb_new_device drivers/usb/core/hub.c:5833 [inline] hub_port_connect drivers/usb/core/hub.c:5580 [inline] hub_port_connect_change drivers/usb/core/hub.c:5720 [inline] port_event drivers/usb/core/hub.c:5884 [inline] hub_event.cold+0x51a/0xe9d drivers/usb/core/hub.c:5966 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3387 process_scheduled_works kernel/workqueue.c:3470 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3551 kthread+0x373/0x450 kernel/kthread.c:436 ret_from_fork+0x69f/0xc90 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 </TASK> asix 4-1:0.188 (unnamed net_device) (uninitialized): Could not connect PHY asix 4-1:0.188: probe with driver asix failed with error -22 usb 4-1: USB disconnect, device number 13 usb 4-1: new high-speed USB device number 14 using dummy_hcd usb 4-1: Using ep0 maxpacket: 32 usb 4-1: New USB device found, idVendor=17ef, idProduct=7203, bcdDevice=2e.36 usb 4-1: config 0 has an invalid interface number: 188 but max is 0 usb 4-1: config 0 has no interface number 0 usb 4-1: config 0 interface 188 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 32 usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 4-1: Product: syz usb 4-1: Manufacturer: syz usb 4-1: SerialNumber: syz usb 4-1: config 0 descriptor?? asix 4-1:0.188: probe with driver asix failed with error -71 usb 4-1: USB disconnect, device number 14 usb 4-1: new high-speed USB device number 15 using dummy_hcd usb 4-1: Using ep0 maxpacket: 32 usb 4-1: New USB device found, idVendor=17ef, idProduct=7203, bcdDevice=2e.36 usb 4-1: config 0 has an invalid interface number: 188 but max is 0 usb 4-1: config 0 has no interface number 0 usb 4-1: config 0 interface 188 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 32 usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 4-1: Product: syz usb 4-1: Manufacturer: syz usb 4-1: SerialNumber: syz usb 4-1: config 0 descriptor?? asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Could not register MDIO bus (err -5) asix 4-1:0.188: probe with driver asix failed with error -5 usb 4-1: USB disconnect, device number 15 usb 4-1: new high-speed USB device number 16 using dummy_hcd usb 4-1: Using ep0 maxpacket: 32 usb 4-1: New USB device found, idVendor=17ef, idProduct=7203, bcdDevice=2e.36 usb 4-1: config 0 has an invalid interface number: 188 but max is 0 usb 4-1: config 0 has no interface number 0 usb 4-1: config 0 interface 188 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 32 usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 4-1: Product: syz usb 4-1: Manufacturer: syz usb 4-1: SerialNumber: syz usb 4-1: config 0 descriptor?? asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to enable software MII access asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 asix 4-1:0.188 (unnamed net_device) (uninitialized): Could not register MDIO bus (err -5) asix 4-1:0.188: probe with driver asix failed with error -5 usb 4-1: USB disconnect, device number 16 usb 4-1: new high-speed USB device number 17 using dummy_hcd usb 4-1: Using ep0 maxpacket: 32 usb 4-1: New USB device found, idVendor=17ef, idProduct=7203, bcdDevice=2e.36 usb 4-1: config 0 has an invalid interface number: 188 but max is 0 usb 4-1: config 0 has no interface number 0 usb 4-1: config 0 interface 188 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 32 usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 4-1: Product: syz usb 4-1: Manufacturer: syz usb 4-1: SerialNumber: syz usb 4-1: config 0 descriptor?? asix 4-1:0.188 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -32 --- This report is generated by a bot. It may contain errors. See https://goo.gl/tpsmEJ for more information about syzbot. syzbot engineers can be reached at syzkaller@googlegroups.com. syzbot will keep track of this issue. See: https://goo.gl/tpsmEJ#status for how to communicate with syzbot. If the report is already addressed, let syzbot know by replying with: #syz fix: exact-commit-title If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing. If you want to overwrite report's subsystems, reply with: #syz set subsystems: new-subsystem (See the list of subsystem names on the web dashboard) If the report is a duplicate of another one, reply with: #syz dup: exact-subject-of-another-report If you want to undo deduplication, reply with: #syz undup