Hello,
syzbot found the following issue on:
HEAD commit: 8bf22c33e7a1 Merge tag 'net-7.0-rc1' of git://git.kernel.o..
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=13e0fc02580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=1ff39736314a9939
dashboard link:
https://syzkaller.appspot.com/bug?extid=ba00b9392ca006963ae1
compiler: gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
CC: [
linux-...@vger.kernel.org linu...@vger.kernel.org linux-w...@vger.kernel.org net...@vger.kernel.org]
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/0e19c10e1a0e/disk-8bf22c33.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/8f3209ea7fd5/vmlinux-8bf22c33.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/9be7f93d0a22/bzImage-8bf22c33.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+ba00b9...@syzkaller.appspotmail.com
RSI-USB WLAN 4-1:0.0: missing wlan bulk endpoints
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:2/38
Modules linked in:
CPU: 0 UID: 0 PID: 38 Comm: kworker/0:2 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
Workqueue: usb_hub_wq hub_event
RIP: 0010:refcount_warn_saturate+0x111/0x130 lib/refcount.c:25
Code: cc e8 a3 da e5 fe 48 8d 3d 0c 72 28 08 67 48 0f b9 3a e8 92 da e5 fe 5b 5d e9 8b 7e 9f 04 e8 86 da e5 fe 48 8d 3d ff 71 28 08 <67> 48 0f b9 3a e8 75 da e5 fe 5b 5d c3 cc cc cc cc 48 89 df e8 46
RSP: 0018:ffffc90000286f30 EFLAGS: 00010287
RAX: 000000000003a256 RBX: ffff88811b529d28 RCX: ffffc90012746000
RDX: 0000000000100000 RSI: ffffffff82cbdc1a RDI: ffffffff8af44e20
RBP: 0000000000000002 R08: 0000000000000005 R09: 0000000000000004
R10: 0000000000000002 R11: ffff8881f5739708 R12: ffff888134836000
R13: ffff88811b529d28 R14: ffff888117c5b028 R15: ffff888117c5b024
FS: 0000000000000000(0000) GS:ffff8882686d3000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5d47dc2e9c CR3: 000000010a726000 CR4: 00000000003506f0
Call Trace:
<TASK>
__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+0x602/0x680 kernel/kthread.c:786
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:583 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:661
__driver_probe_device+0x1de/0x400 drivers/base/dd.c:803
driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:833
__device_attach_driver+0x1ff/0x3e0 drivers/base/dd.c:961
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1033
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1088
bus_probe_device+0x64/0x160 drivers/base/bus.c:574
device_add+0x11d9/0x1950 drivers/base/core.c:3689
usb_set_configuration+0xd97/0x1c60 drivers/usb/core/message.c:2210
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:583 [inline]
really_probe+0x241/0xa60 drivers/base/dd.c:661
__driver_probe_device+0x1de/0x400 drivers/base/dd.c:803
driver_probe_device+0x4c/0x1b0 drivers/base/dd.c:833
__device_attach_driver+0x1ff/0x3e0 drivers/base/dd.c:961
bus_for_each_drv+0x159/0x1e0 drivers/base/bus.c:500
__device_attach+0x1e4/0x4d0 drivers/base/dd.c:1033
device_initial_probe+0xaf/0xd0 drivers/base/dd.c:1088
bus_probe_device+0x64/0x160 drivers/base/bus.c:574
device_add+0x11d9/0x1950 drivers/base/core.c:3689
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+0x9d7/0x1920 kernel/workqueue.c:3275
process_scheduled_works kernel/workqueue.c:3358 [inline]
worker_thread+0x5da/0xe40 kernel/workqueue.c:3439
----------------
Code disassembly (best guess):
0: cc int3
1: e8 a3 da e5 fe call 0xfee5daa9
6: 48 8d 3d 0c 72 28 08 lea 0x828720c(%rip),%rdi # 0x8287219
d: 67 48 0f b9 3a ud1 (%edx),%rdi
12: e8 92 da e5 fe call 0xfee5daa9
17: 5b pop %rbx
18: 5d pop %rbp
19: e9 8b 7e 9f 04 jmp 0x49f7ea9
1e: e8 86 da e5 fe call 0xfee5daa9
23: 48 8d 3d ff 71 28 08 lea 0x82871ff(%rip),%rdi # 0x8287229
* 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2f: e8 75 da e5 fe call 0xfee5daa9
34: 5b pop %rbx
35: 5d pop %rbp
36: c3 ret
37: cc int3
38: cc int3
39: cc int3
3a: cc int3
3b: 48 89 df mov %rbx,%rdi
3e: e8 .byte 0xe8
3f: 46 rex.RX
---
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
syzk...@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 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