syzbot


BUG: corrupted list in usb_hcd_link_urb_to_ep (4)

Status: moderation: reported on 2024/11/01 23:15
Subsystems: usb
[Documentation on labels]
Reported-by: syzbot+565a307118bc54790723@syzkaller.appspotmail.com
First crash: 9d02h, last: 1d16h
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream BUG: corrupted list in usb_hcd_link_urb_to_ep usb 1 1576d 1576d 0/28 auto-closed as invalid on 2020/11/11 04:30
upstream BUG: corrupted list in usb_hcd_link_urb_to_ep (2) usb C error error 2 349d 1017d 0/28 auto-obsoleted due to no activity on 2024/03/02 17:43
upstream BUG: corrupted list in usb_hcd_link_urb_to_ep (3) usb 1 157d 153d 0/28 auto-obsoleted due to no activity on 2024/08/31 17:07

Sample crash report:
usb 3-1: SerialNumber: syz
usb 3-1: config 0 descriptor??
cm109 3-1:0.8: invalid payload size 0, expected 4
input: CM109 USB driver as /devices/platform/dummy_hcd.2/usb3/3-1/3-1:0.8/input/input11
list_add double add: new=ffff888025cb4718, prev=ffff888025cb4718, next=ffff88823beee870.
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:37!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 0 UID: 0 PID: 1200 Comm: kworker/0:2 Not tainted 6.12.0-rc6-syzkaller-00005-g557329bcecc2 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Workqueue: usb_hub_wq hub_event
RIP: 0010:__list_add_valid_or_report+0xa3/0xf0 lib/list_debug.c:35
Code: 39 f7 74 10 b0 01 5b 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc 48 c7 c7 20 37 60 8c 4c 89 fe 4c 89 e2 4c 89 f1 e8 ce 7f 00 07 90 <0f> 0b 48 c7 c7 20 35 60 8c e8 bf 7f 00 07 90 0f 0b 48 c7 c7 c0 35
RSP: 0018:ffffc90004636988 EFLAGS: 00010046
RAX: 0000000000000058 RBX: ffff88823beee878 RCX: 6ba9eae843777100
RDX: ffffc900152b8000 RSI: 000000000002f603 RDI: 000000000002f604
RBP: ffff88823beee878 R08: ffffffff8174a12c R09: 1ffff920008c6ccc
R10: dffffc0000000000 R11: fffff520008c6ccd R12: ffff888025cb4718
R13: dffffc0000000000 R14: ffff88823beee870 R15: ffff888025cb4718
FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c353ca0 CR3: 0000000034b62000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __list_add_valid include/linux/list.h:88 [inline]
 __list_add include/linux/list.h:150 [inline]
 list_add_tail include/linux/list.h:183 [inline]
 usb_hcd_link_urb_to_ep+0x1b7/0x310 drivers/usb/core/hcd.c:1158
 dummy_urb_enqueue+0x290/0x780 drivers/usb/gadget/udc/dummy_hcd.c:1287
 usb_hcd_submit_urb+0x36c/0x1e80 drivers/usb/core/hcd.c:1533
 cm109_input_open+0x1f9/0x470 drivers/input/misc/cm109.c:572
 input_open_device+0x191/0x2e0 drivers/input/input.c:617
 kbd_connect+0xe9/0x130 drivers/tty/vt/keyboard.c:1591
 input_attach_handler drivers/input/input.c:1027 [inline]
 input_register_device+0xd3b/0x1110 drivers/input/input.c:2470
 cm109_usb_probe+0x10cd/0x1600 drivers/input/misc/cm109.c:806
 usb_probe_interface+0x645/0xbb0 drivers/usb/core/driver.c:399
 really_probe+0x2b8/0xad0 drivers/base/dd.c:658
 __driver_probe_device+0x1a2/0x390 drivers/base/dd.c:800
 driver_probe_device+0x50/0x430 drivers/base/dd.c:830
 __device_attach_driver+0x2d6/0x530 drivers/base/dd.c:958
 bus_for_each_drv+0x24e/0x2e0 drivers/base/bus.c:459
 __device_attach+0x333/0x520 drivers/base/dd.c:1030
 bus_probe_device+0x189/0x260 drivers/base/bus.c:534
 device_add+0x856/0xbf0 drivers/base/core.c:3672
 usb_set_configuration+0x1976/0x1fb0 drivers/usb/core/message.c:2210
 usb_generic_driver_probe+0x88/0x140 drivers/usb/core/generic.c:254
 usb_probe_device+0x1b8/0x380 drivers/usb/core/driver.c:294
 really_probe+0x2b8/0xad0 drivers/base/dd.c:658
 __driver_probe_device+0x1a2/0x390 drivers/base/dd.c:800
 driver_probe_device+0x50/0x430 drivers/base/dd.c:830
 __device_attach_driver+0x2d6/0x530 drivers/base/dd.c:958
 bus_for_each_drv+0x24e/0x2e0 drivers/base/bus.c:459
 __device_attach+0x333/0x520 drivers/base/dd.c:1030
 bus_probe_device+0x189/0x260 drivers/base/bus.c:534
 device_add+0x856/0xbf0 drivers/base/core.c:3672
 usb_new_device+0x104a/0x19a0 drivers/usb/core/hub.c:2651
 hub_port_connect drivers/usb/core/hub.c:5521 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5661 [inline]
 port_event drivers/usb/core/hub.c:5821 [inline]
 hub_event+0x2d6d/0x5150 drivers/usb/core/hub.c:5903
 process_one_work kernel/workqueue.c:3229 [inline]
 process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310
 worker_thread+0x870/0xd30 kernel/workqueue.c:3391
 kthread+0x2f0/0x390 kernel/kthread.c:389
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__list_add_valid_or_report+0xa3/0xf0 lib/list_debug.c:35
Code: 39 f7 74 10 b0 01 5b 41 5c 41 5d 41 5e 41 5f c3 cc cc cc cc 48 c7 c7 20 37 60 8c 4c 89 fe 4c 89 e2 4c 89 f1 e8 ce 7f 00 07 90 <0f> 0b 48 c7 c7 20 35 60 8c e8 bf 7f 00 07 90 0f 0b 48 c7 c7 c0 35
RSP: 0018:ffffc90004636988 EFLAGS: 00010046
RAX: 0000000000000058 RBX: ffff88823beee878 RCX: 6ba9eae843777100
RDX: ffffc900152b8000 RSI: 000000000002f603 RDI: 000000000002f604
RBP: ffff88823beee878 R08: ffffffff8174a12c R09: 1ffff920008c6ccc
R10: dffffc0000000000 R11: fffff520008c6ccd R12: ffff888025cb4718
R13: dffffc0000000000 R14: ffff88823beee870 R15: ffff888025cb4718
FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000110c353ca0 CR3: 0000000034b62000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/11/05 09:29 upstream 557329bcecc2 509da429 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root BUG: corrupted list in usb_hcd_link_urb_to_ep
2024/10/28 23:12 upstream e42b1a9a2557 5fe1d0f5 .config console log report info [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: corrupted list in usb_hcd_link_urb_to_ep
* Struck through repros no longer work on HEAD.