syzbot


BUG: corrupted list in usb_hcd_link_urb_to_ep (4)

Status: upstream: reported syz repro on 2025/02/20 05:36
Subsystems: usb
[Documentation on labels]
Reported-by: syzbot+a2e67807a84a561c08fb@syzkaller.appspotmail.com
First crash: 116d, last: 2d01h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [usb?] BUG: corrupted list in usb_hcd_link_urb_to_ep (4) 0 (1) 2025/02/20 05:36
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 1684d 1684d 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 456d 1124d 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 264d 260d 0/28 auto-obsoleted due to no activity on 2024/08/31 17:07

Sample crash report:
list_add double add: new=ffff8880333c4718, prev=ffff8880333c4718, next=ffff88804b2fe070.
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:35!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 2 UID: 0 PID: 68 Comm: kworker/u32:3 Not tainted 6.14.0-rc3-syzkaller-00079-g87a132e73910 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Workqueue: netns cleanup_net
RIP: 0010:__list_add_valid_or_report+0x143/0x190 lib/list_debug.c:35
Code: 89 f1 48 c7 c7 80 56 d3 8b 48 89 ee e8 66 8a cf fc 90 0f 0b 48 89 f2 48 89 e9 4c 89 e6 48 c7 c7 00 57 d3 8b e8 4e 8a cf fc 90 <0f> 0b 48 89 f7 48 89 34 24 e8 ef 51 53 fd 48 8b 34 24 e9 07 ff ff
RSP: 0018:ffffc90000658910 EFLAGS: 00010086
RAX: 0000000000000058 RBX: ffff8880333c4700 RCX: ffffffff819943d9
RDX: 0000000000000000 RSI: ffffffff8199a74e RDI: 0000000000000005
RBP: ffff88804b2fe070 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000104 R11: ffffffff96261ff8 R12: ffff8880333c4718
R13: ffff88804b2fe078 R14: ffff8880333c4718 R15: ffff88804b2fe078
FS:  0000000000000000(0000) GS:ffff88806a800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055c8f0f403d8 CR3: 000000002c20a000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 __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+0x21d/0x390 drivers/usb/core/hcd.c:1158
 dummy_urb_enqueue+0x291/0x8e0 drivers/usb/gadget/udc/dummy_hcd.c:1288
 usb_hcd_submit_urb+0x258/0x1c60 drivers/usb/core/hcd.c:1533
 usb_submit_urb+0x87c/0x1730 drivers/usb/core/urb.c:581
 cm109_submit_buzz_toggle+0xd8/0x180 drivers/input/misc/cm109.c:351
 cm109_toggle_buzzer_async+0x90/0xa0 drivers/input/misc/cm109.c:484
 cm109_input_ev+0x171/0x1b0 drivers/input/misc/cm109.c:615
 input_event_dispose drivers/input/input.c:321 [inline]
 input_handle_event+0x14e/0x14d0 drivers/input/input.c:369
 input_inject_event+0x1c8/0x380 drivers/input/input.c:423
 kd_sound_helper+0x17a/0x280 drivers/tty/vt/keyboard.c:256
 input_handler_for_each_handle+0xd4/0x250 drivers/input/input.c:2554
 call_timer_fn+0x1a0/0x610 kernel/time/timer.c:1789
 expire_timers kernel/time/timer.c:1840 [inline]
 __run_timers+0x6e8/0x930 kernel/time/timer.c:2414
 __run_timer_base kernel/time/timer.c:2426 [inline]
 __run_timer_base kernel/time/timer.c:2418 [inline]
 run_timer_base+0x114/0x190 kernel/time/timer.c:2435
 run_timer_softirq+0x1a/0x40 kernel/time/timer.c:2445
 handle_softirqs+0x213/0x8f0 kernel/softirq.c:561
 __do_softirq kernel/softirq.c:595 [inline]
 invoke_softirq kernel/softirq.c:435 [inline]
 __irq_exit_rcu+0x109/0x170 kernel/softirq.c:662
 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1049
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
RIP: 0010:lockdep_unregister_key+0x1b2/0x2b0 kernel/locking/lockdep.c:6595
Code: 54 fd ff ff 48 89 df e8 9c c3 ff ff 89 c3 e8 05 d9 ff ff 9c 58 f6 c4 02 0f 85 92 00 00 00 41 f7 c5 00 02 00 00 74 01 fb 84 db <75> 4f 5b 5d 41 5c 41 5d 41 5e 41 5f e9 cd 99 0a 00 48 c7 c0 34 82
RSP: 0018:ffffc90000d5f7c0 EFLAGS: 00000246
RAX: 0000000000000046 RBX: 0000000000000000 RCX: 0000000000000001
RDX: dffffc0000000000 RSI: ffffffff8b6cef60 RDI: ffffffff8bd35480
RBP: ffff888030eb7a98 R08: ffffffff9386d86e R09: 000000000001d777
R10: ffffffff96e83eaf R11: 0000000000002ba2 R12: 0000000000000000
R13: 0000000000000246 R14: ffffffff97056128 R15: ffff888030eb7aa0
 __qdisc_destroy+0x11a/0x4b0 net/sched/sch_generic.c:1080
 qdisc_put+0xab/0xe0 net/sched/sch_generic.c:1106
 shutdown_scheduler_queue+0xa5/0x160 net/sched/sch_generic.c:1159
 netdev_for_each_tx_queue include/linux/netdevice.h:2590 [inline]
 dev_shutdown+0xad/0x430 net/sched/sch_generic.c:1491
 unregister_netdevice_many_notify+0x9fb/0x1f30 net/core/dev.c:11791
 unregister_netdevice_many net/core/dev.c:11866 [inline]
 default_device_exit_batch+0x867/0xae0 net/core/dev.c:12351
 ops_exit_list+0x128/0x180 net/core/net_namespace.c:177
 cleanup_net+0x5c6/0xbf0 net/core/net_namespace.c:652
 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3236
 process_scheduled_works kernel/workqueue.c:3317 [inline]
 worker_thread+0x6c8/0xf00 kernel/workqueue.c:3398
 kthread+0x3af/0x750 kernel/kthread.c:464
 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:148
 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+0x143/0x190 lib/list_debug.c:35
Code: 89 f1 48 c7 c7 80 56 d3 8b 48 89 ee e8 66 8a cf fc 90 0f 0b 48 89 f2 48 89 e9 4c 89 e6 48 c7 c7 00 57 d3 8b e8 4e 8a cf fc 90 <0f> 0b 48 89 f7 48 89 34 24 e8 ef 51 53 fd 48 8b 34 24 e9 07 ff ff
RSP: 0018:ffffc90000658910 EFLAGS: 00010086
RAX: 0000000000000058 RBX: ffff8880333c4700 RCX: ffffffff819943d9
RDX: 0000000000000000 RSI: ffffffff8199a74e RDI: 0000000000000005
RBP: ffff88804b2fe070 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000104 R11: ffffffff96261ff8 R12: ffff8880333c4718
R13: ffff88804b2fe078 R14: ffff8880333c4718 R15: ffff88804b2fe078
FS:  0000000000000000(0000) GS:ffff88806a800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055c8f0f403d8 CR3: 000000002c20a000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess), 4 bytes skipped:
   0:	48 89 df             	mov    %rbx,%rdi
   3:	e8 9c c3 ff ff       	call   0xffffc3a4
   8:	89 c3                	mov    %eax,%ebx
   a:	e8 05 d9 ff ff       	call   0xffffd914
   f:	9c                   	pushf
  10:	58                   	pop    %rax
  11:	f6 c4 02             	test   $0x2,%ah
  14:	0f 85 92 00 00 00    	jne    0xac
  1a:	41 f7 c5 00 02 00 00 	test   $0x200,%r13d
  21:	74 01                	je     0x24
  23:	fb                   	sti
  24:	84 db                	test   %bl,%bl
* 26:	75 4f                	jne    0x77 <-- trapping instruction
  28:	5b                   	pop    %rbx
  29:	5d                   	pop    %rbp
  2a:	41 5c                	pop    %r12
  2c:	41 5d                	pop    %r13
  2e:	41 5e                	pop    %r14
  30:	41 5f                	pop    %r15
  32:	e9 cd 99 0a 00       	jmp    0xa9a04
  37:	48                   	rex.W
  38:	c7                   	.byte 0xc7
  39:	c0                   	.byte 0xc0
  3a:	34 82                	xor    $0x82,%al

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/20 05:35 upstream 87a132e73910 50668798 .config console log report syz / log [disk image (non-bootable)] [vmlinux] [kernel image] ci-qemu-upstream BUG: corrupted list in usb_hcd_link_urb_to_ep
2024/12/16 01:12 upstream dccbe2047a5b 7cbfbb3a .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root BUG: corrupted list in usb_hcd_link_urb_to_ep
2024/11/26 17:49 upstream 7eef7e306d3c 11dbc254 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root BUG: corrupted list in usb_hcd_link_urb_to_ep
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.