[moderation] [usb?] BUG: corrupted list in usb_hcd_link_urb_to_ep (3)

1 view
Skip to first unread message

syzbot

unread,
Jun 6, 2024, 1:13:30 PMJun 6
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 83814698cf48 Merge tag 'powerpc-6.10-2' of git://git.kerne..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=1278ce06980000
kernel config: https://syzkaller.appspot.com/x/.config?x=b9016f104992d69c
dashboard link: https://syzkaller.appspot.com/bug?extid=c980a009f7325e5a641e
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
CC: [gre...@linuxfoundation.org linux-...@vger.kernel.org linu...@vger.kernel.org]

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c2bc23d136ec/disk-83814698.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/86237f04bd67/vmlinux-83814698.xz
kernel image: https://storage.googleapis.com/syzbot-assets/007bc2bea44d/bzImage-83814698.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+c980a0...@syzkaller.appspotmail.com

usb 5-1: New USB device found, idVendor=0d8c, idProduct=000e, bcdDevice=8e.8f
usb 5-1: New USB device strings: Mfr=0, Product=24, SerialNumber=3
usb 5-1: Product: syz
usb 5-1: SerialNumber: syz
usb 5-1: config 0 descriptor??
cm109 5-1:0.8: invalid payload size 0, expected 4
input: CM109 USB driver as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.8/input/input6
list_add double add: new=ffff8880295fc018, prev=ffff8880295fc018, next=ffff888065a4b070.
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:37!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN PTI
CPU: 1 PID: 50 Comm: kworker/1:1 Not tainted 6.10.0-rc1-syzkaller-00304-g83814698cf48 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/02/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 00 f5 1f 8c 4c 89 fe 4c 89 e2 4c 89 f1 e8 0e 52 cc 06 90 <0f> 0b 48 c7 c7 00 f3 1f 8c e8 ff 51 cc 06 90 0f 0b 48 c7 c7 a0 f3
RSP: 0018:ffffc90000ba6988 EFLAGS: 00010046
RAX: 0000000000000058 RBX: ffff888065a4b078 RCX: 20d7973de3b19b00
RDX: ffffc90011ece000 RSI: 000000000003ffff RDI: 0000000000040000
RBP: ffff888065a4b078 R08: ffffffff8176812c R09: 1ffffffff1c65014
R10: dffffc0000000000 R11: fffffbfff1c65015 R12: ffff8880295fc018
R13: dffffc0000000000 R14: ffff888065a4b070 R15: ffff8880295fc018
FS: 0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055bfb8b59290 CR3: 0000000065ffa000 CR4: 00000000003506f0
DR0: 0000000000002800 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 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+0x2dd/0x760 drivers/usb/gadget/udc/dummy_hcd.c:1286
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:654
kbd_connect+0xe9/0x130 drivers/tty/vt/keyboard.c:1593
input_attach_handler drivers/input/input.c:1064 [inline]
input_register_device+0xcf3/0x1090 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:656
__driver_probe_device+0x1a2/0x390 drivers/base/dd.c:798
driver_probe_device+0x50/0x430 drivers/base/dd.c:828
__device_attach_driver+0x2d6/0x530 drivers/base/dd.c:956
bus_for_each_drv+0x24e/0x2e0 drivers/base/bus.c:457
__device_attach+0x333/0x520 drivers/base/dd.c:1028
bus_probe_device+0x189/0x260 drivers/base/bus.c:532
device_add+0x856/0xbf0 drivers/base/core.c:3721
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:656
__driver_probe_device+0x1a2/0x390 drivers/base/dd.c:798
driver_probe_device+0x50/0x430 drivers/base/dd.c:828
__device_attach_driver+0x2d6/0x530 drivers/base/dd.c:956
bus_for_each_drv+0x24e/0x2e0 drivers/base/bus.c:457
__device_attach+0x333/0x520 drivers/base/dd.c:1028
bus_probe_device+0x189/0x260 drivers/base/bus.c:532
device_add+0x856/0xbf0 drivers/base/core.c:3721
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+0x2d6a/0x5150 drivers/usb/core/hub.c:5903
process_one_work kernel/workqueue.c:3231 [inline]
process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3312
worker_thread+0x86d/0xd70 kernel/workqueue.c:3393
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 00 f5 1f 8c 4c 89 fe 4c 89 e2 4c 89 f1 e8 0e 52 cc 06 90 <0f> 0b 48 c7 c7 00 f3 1f 8c e8 ff 51 cc 06 90 0f 0b 48 c7 c7 a0 f3
RSP: 0018:ffffc90000ba6988 EFLAGS: 00010046
RAX: 0000000000000058 RBX: ffff888065a4b078 RCX: 20d7973de3b19b00
RDX: ffffc90011ece000 RSI: 000000000003ffff RDI: 0000000000040000
RBP: ffff888065a4b078 R08: ffffffff8176812c R09: 1ffffffff1c65014
R10: dffffc0000000000 R11: fffffbfff1c65015 R12: ffff8880295fc018
R13: dffffc0000000000 R14: ffff888065a4b070 R15: ffff8880295fc018
FS: 0000000000000000(0000) GS:ffff8880b9500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055bfb8b59290 CR3: 0000000065ffa000 CR4: 00000000003506f0
DR0: 0000000000002800 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400


---
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
Reply all
Reply to author
Forward
0 new messages