rsi_91x: rsi_probe: Failed to init usb interface ------------[ cut here ]------------ refcount_t: addition on 0; use-after-free. WARNING: lib/refcount.c:25 at refcount_warn_saturate+0x111/0x130 lib/refcount.c:25, CPU#0: kworker/0:3/5228 Modules linked in: CPU: 0 UID: 0 PID: 5228 Comm: kworker/0:3 Not tainted syzkaller #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026 Workqueue: usb_hub_wq hub_event RIP: 0010:refcount_warn_saturate+0x111/0x130 lib/refcount.c:25 Code: 04 e8 43 2d e3 fe 48 8d 3d ac 92 26 08 67 48 0f b9 3a e8 32 2d e3 fe 5b 5d c3 cc cc cc cc e8 26 2d e3 fe 48 8d 3d 9f 92 26 08 <67> 48 0f b9 3a e8 15 2d e3 fe 5b 5d e9 0e 2d a4 04 48 89 df e8 c6 RSP: 0018:ffffc9000386ef28 EFLAGS: 00010246 RAX: 0000000000100000 RBX: ffff8881145f9de8 RCX: ffffc900117d8000 RDX: 0000000000100000 RSI: ffffffff82cf927a RDI: ffffffff8af62520 RBP: 0000000000000002 R08: 0000000000000005 R09: 0000000000000004 R10: 0000000000000002 R11: ffff8881f5639778 R12: ffff88811de5e000 R13: ffff8881145f9de8 R14: 0000000000000001 R15: 0000000000000003 FS: 0000000000000000(0000) GS:ffff888268687000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3652a31df4 CR3: 000000011a694000 CR4: 00000000003506f0 Call Trace: __refcount_add include/linux/refcount.h:289 [inline] __refcount_inc include/linux/refcount.h:366 [inline] refcount_inc include/linux/refcount.h:383 [inline] get_task_struct include/linux/sched/task.h:116 [inline] kthread_stop+0x5cd/0x640 kernel/kthread.c:754 rsi_kill_thread drivers/net/wireless/rsi/rsi_common.h:78 [inline] rsi_91x_deinit+0x102/0x1f0 drivers/net/wireless/rsi/rsi_91x_main.c:405 rsi_probe+0xd27/0x1aa0 drivers/net/wireless/rsi/rsi_91x_usb.c:861 usb_probe_interface+0x303/0x8f0 drivers/usb/core/driver.c:396 call_driver_probe drivers/base/dd.c:631 [inline] really_probe+0x241/0xa60 drivers/base/dd.c:709 __driver_probe_device+0x22e/0x480 drivers/base/dd.c:871 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:901 __device_attach_driver+0x1df/0x340 drivers/base/dd.c:1029 bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500 __device_attach+0x1e4/0x4d0 drivers/base/dd.c:1101 device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1156 bus_probe_device+0x64/0x160 drivers/base/bus.c:613 device_add+0x1210/0x1950 drivers/base/core.c:3706 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:291 call_driver_probe drivers/base/dd.c:631 [inline] really_probe+0x241/0xa60 drivers/base/dd.c:709 __driver_probe_device+0x22e/0x480 drivers/base/dd.c:871 driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:901 __device_attach_driver+0x1df/0x340 drivers/base/dd.c:1029 bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500 __device_attach+0x1e4/0x4d0 drivers/base/dd.c:1101 device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1156 bus_probe_device+0x64/0x160 drivers/base/bus.c:613 device_add+0x1210/0x1950 drivers/base/core.c:3706 usb_new_device.cold+0x685/0x115c drivers/usb/core/hub.c:2695 hub_port_connect drivers/usb/core/hub.c:5567 [inline] hub_port_connect_change drivers/usb/core/hub.c:5707 [inline] port_event drivers/usb/core/hub.c:5871 [inline] hub_event+0x314d/0x4af0 drivers/usb/core/hub.c:5953 process_one_work+0xa0e/0x1980 kernel/workqueue.c:3302 process_scheduled_works kernel/workqueue.c:3385 [inline] worker_thread+0x5ef/0xe50 kernel/workqueue.c:3466 kthread+0x370/0x450 kernel/kthread.c:436 ret_from_fork+0x69a/0xc80 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 ---------------- Code disassembly (best guess): 0: 04 e8 add $0xe8,%al 2: 43 2d e3 fe 48 8d rex.XB sub $0x8d48fee3,%eax 8: 3d ac 92 26 08 cmp $0x82692ac,%eax d: 67 48 0f b9 3a ud1 (%edx),%rdi 12: e8 32 2d e3 fe call 0xfee32d49 17: 5b pop %rbx 18: 5d pop %rbp 19: c3 ret 1a: cc int3 1b: cc int3 1c: cc int3 1d: cc int3 1e: e8 26 2d e3 fe call 0xfee32d49 23: 48 8d 3d 9f 92 26 08 lea 0x826929f(%rip),%rdi # 0x82692c9 * 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction 2f: e8 15 2d e3 fe call 0xfee32d49 34: 5b pop %rbx 35: 5d pop %rbp 36: e9 0e 2d a4 04 jmp 0x4a42d49 3b: 48 89 df mov %rbx,%rdi 3e: e8 .byte 0xe8 3f: c6 .byte 0xc6