syzbot


INFO: task hung in usb_get_descriptor

Status: upstream: reported C repro on 2023/03/31 13:11
Bug presence: origin:upstream
[Documentation on labels]
Reported-by: syzbot+0fbe415eab6118f3ade6@syzkaller.appspotmail.com
First crash: 600d, last: 210d
Fix bisection: failed (error log, bisect log)
  
Bug presence (1)
Date Name Commit Repro Result
2023/09/08 upstream (ToT) 32bf43e4efdb C [report] INFO: task hung in hub_port_init
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in usb_get_descriptor (2) usb C inconclusive 862 9d21h 700d 0/28 upstream: reported C repro on 2022/12/22 05:53
upstream INFO: task hung in usb_get_descriptor C done done 4149 985d 1507d 20/28 fixed on 2022/05/13 11:13
linux-4.14 INFO: task hung in usb_get_descriptor C error 1317 971d 1509d 0/1 upstream: reported C repro on 2020/10/03 17:33
linux-4.19 INFO: task hung in usb_get_descriptor C error 1055 629d 1509d 0/1 upstream: reported C repro on 2020/10/03 12:49
linux-5.15 INFO: task hung in usb_get_descriptor origin:upstream C error 41 499d 596d 0/3 upstream: reported C repro on 2023/04/04 12:58
Fix bisection attempts (9)
Created Duration User Patch Repo Result
2024/05/30 15:21 20m bisect fix linux-6.1.y error job log
2024/04/24 22:13 2h52m bisect fix linux-6.1.y OK (0) job log log
2024/03/25 16:17 2h58m bisect fix linux-6.1.y OK (0) job log log
2024/02/24 13:58 1h22m bisect fix linux-6.1.y OK (0) job log log
2024/01/16 15:55 1h54m bisect fix linux-6.1.y OK (0) job log log
2023/12/16 07:54 1h31m bisect fix linux-6.1.y OK (0) job log log
2023/11/15 19:02 2h02m bisect fix linux-6.1.y OK (0) job log log
2023/10/14 13:01 1h48m bisect fix linux-6.1.y OK (0) job log log
2023/09/08 21:23 1h49m bisect fix linux-6.1.y OK (0) job log log

Sample crash report:
INFO: task kworker/0:1:14 blocked for more than 143 seconds.
      Not tainted 6.1.35-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/0:1     state:D stack:24384 pid:14    ppid:2      flags:0x00004000
Workqueue: usb_hub_wq hub_event
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5241 [inline]
 __schedule+0x132c/0x4330 kernel/sched/core.c:6554
 schedule+0xbf/0x180 kernel/sched/core.c:6630
 usb_kill_urb+0x1c5/0x300 drivers/usb/core/urb.c:728
 usb_start_wait_urb+0x1ac/0x510 drivers/usb/core/message.c:64
 usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
 usb_control_msg+0x2ad/0x4c0 drivers/usb/core/message.c:153
 usb_get_descriptor+0xb3/0x3c0 drivers/usb/core/message.c:793
 usb_get_device_descriptor+0x8a/0xe0 drivers/usb/core/message.c:1071
 hub_port_init+0x106a/0x2430 drivers/usb/core/hub.c:4922
 hub_port_connect drivers/usb/core/hub.c:5284 [inline]
 hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
 port_event drivers/usb/core/hub.c:5655 [inline]
 hub_event+0x294a/0x57b0 drivers/usb/core/hub.c:5737
 process_one_work+0x8aa/0x11f0 kernel/workqueue.c:2289
 worker_thread+0xa5f/0x1210 kernel/workqueue.c:2436
 kthread+0x26e/0x300 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
 </TASK>

Showing all locks held in the system:
1 lock held by rcu_tasks_kthre/12:
 #0: ffffffff8cf27470 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x29/0xd20 kernel/rcu/tasks.h:510
1 lock held by rcu_tasks_trace/13:
 #0: ffffffff8cf27c70 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x29/0xd20 kernel/rcu/tasks.h:510
5 locks held by kworker/0:1/14:
 #0: ffff888143adcd38 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x77a/0x11f0
 #1: ffffc90000137d20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7bd/0x11f0 kernel/workqueue.c:2264
 #2: ffff888145f63190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
 #2: ffff888145f63190 (&dev->mutex){....}-{3:3}, at: hub_event+0x20e/0x57b0 drivers/usb/core/hub.c:5683
 #3: ffff888145f664f8 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3105 [inline]
 #3: ffff888145f664f8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5251 [inline]
 #3: ffff888145f664f8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
 #3: ffff888145f664f8 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
 #3: ffff888145f664f8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x2278/0x57b0 drivers/usb/core/hub.c:5737
 #4: ffff88801ecd5b68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5252 [inline]
 #4: ffff88801ecd5b68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
 #4: ffff88801ecd5b68 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
 #4: ffff88801ecd5b68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x22a1/0x57b0 drivers/usb/core/hub.c:5737
1 lock held by khungtaskd/28:
 #0: ffffffff8cf272a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by getty/3303:
 #0: ffff88814b36f098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:244
 #1: ffffc900031262f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6a7/0x1db0 drivers/tty/n_tty.c:2177
1 lock held by syz-executor359/3566:

=============================================

NMI backtrace for cpu 0
CPU: 0 PID: 28 Comm: khungtaskd Not tainted 6.1.35-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 nmi_cpu_backtrace+0x4e1/0x560 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x1b0/0x3f0 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:220 [inline]
 watchdog+0xf18/0xf60 kernel/hung_task.c:377
 kthread+0x26e/0x300 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3566 Comm: syz-executor359 Not tainted 6.1.35-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
RIP: 0010:wait_consider_task+0xb2/0x2e20 kernel/exit.c:1386
Code: 00 00 42 c6 44 29 0b f3 e8 2b 4b 36 00 48 89 5c 24 08 48 81 c3 4c 05 00 00 48 89 d8 48 c1 e8 03 48 89 44 24 40 42 0f b6 04 28 <84> c0 0f 85 2d 24 00 00 44 8b 33 bf 10 00 00 00 44 89 f6 e8 56 4e
RSP: 0018:ffffc90003a9f9e0 EFLAGS: 00000a03
RAX: 0000000000000000 RBX: ffff8880234c230c RCX: ffff88801fcd8000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffc90003a9fcc0
RBP: ffffc90003a9fbd0 R08: ffffffff8153933b R09: ffffffff81538bda
R10: 0000000000000002 R11: ffff88801fcd8000 R12: ffffc90003a9fcc0
R13: dffffc0000000000 R14: 0000000040000005 R15: 0000000000000000
FS:  00005555560a8300(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f413cdc1d60 CR3: 0000000070db9000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <TASK>
 do_wait_thread kernel/exit.c:1495 [inline]
 do_wait+0x328/0xb70 kernel/exit.c:1612
 kernel_wait4+0x29e/0x3e0 kernel/exit.c:1775
 __do_sys_wait4 kernel/exit.c:1803 [inline]
 __se_sys_wait4 kernel/exit.c:1799 [inline]
 __x64_sys_wait4+0x130/0x1e0 kernel/exit.c:1799
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f413cd90cc6
Code: 0f 1f 40 00 31 c9 e9 09 00 00 00 66 0f 1f 84 00 00 00 00 00 49 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 11 b8 3d 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 5a c3 90 48 83 ec 28 89 54 24 14 48 89 74 24
RSP: 002b:00007ffdc2e33cf8 EFLAGS: 00000246 ORIG_RAX: 000000000000003d
RAX: ffffffffffffffda RBX: 0000000000006f56 RCX: 00007f413cd90cc6
RDX: 0000000040000001 RSI: 00007ffdc2e33d1c RDI: 00000000ffffffff
RBP: 00007ffdc2e33d50 R08: 00007ffdc2e6c0b0 R09: 0000000000000010
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000000f4240
R13: 00007ffdc2e33d1c R14: 00007ffdc2e33d40 R15: 00007ffdc2e33d30
 </TASK>
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 1.296 msecs

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/27 21:47 linux-6.1.y e84a4e368abe 4cd5bb25 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan INFO: task hung in usb_get_descriptor
2023/05/07 04:30 linux-6.1.y ca48fc16c493 90c93c40 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usb_get_descriptor
2023/06/17 01:23 linux-6.1.y ca87e77a2ef8 f3921d4d .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usb_get_descriptor
2023/05/27 11:43 linux-6.1.y a343b0dd87b4 cf184559 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usb_get_descriptor
2023/06/11 18:33 linux-6.1.y 2f3918bc53fb 49519f06 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usb_get_descriptor
2023/03/31 13:11 linux-6.1.y 3b29299e5f60 f325deb0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usb_get_descriptor
* Struck through repros no longer work on HEAD.