syzbot


INFO: task hung in usbdev_release

Status: upstream: reported on 2024/02/26 22:03
Reported-by: syzbot+ed471f0949208e89b604@syzkaller.appspotmail.com
First crash: 56d, last: 56d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in usbdev_release (2) usb C error 60 10d 257d 0/26 upstream: reported C repro on 2023/08/09 15:47
upstream INFO: task hung in usbdev_release usb 20 855d 1263d 0/26 closed as invalid on 2022/02/07 19:19
linux-4.19 INFO: task hung in usbdev_release 1 1276d 1276d 0/1 auto-closed as invalid on 2021/02/21 22:17
linux-6.1 INFO: task hung in usbdev_release 1 404d 404d 0/3 auto-obsoleted due to no activity on 2023/07/13 23:24
linux-4.19 INFO: task hung in usbdev_release (2) 10 531d 997d 0/1 auto-obsoleted due to no activity on 2023/03/08 04:55
linux-4.14 INFO: task hung in usbdev_release 2 1211d 1274d 0/1 auto-closed as invalid on 2021/04/27 06:36
linux-6.1 INFO: task hung in usbdev_release (2) origin:upstream C 5 7h23m 219d 0/3 upstream: reported C repro on 2023/09/16 19:39

Sample crash report:
INFO: task syz-executor.0:18350 blocked for more than 145 seconds.
      Not tainted 5.15.149-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.0  state:D stack:    0 pid:18350 ppid:  3991 flags:0x00000005
Call trace:
 __switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0xf10/0x1e48 kernel/sched/core.c:6376
 schedule+0x11c/0x1c8 kernel/sched/core.c:6459
 schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6518
 __mutex_lock_common+0xba0/0x2154 kernel/locking/mutex.c:669
 __mutex_lock kernel/locking/mutex.c:729 [inline]
 mutex_lock_nested+0xa4/0xf8 kernel/locking/mutex.c:743
 device_lock include/linux/device.h:760 [inline]
 usbdev_release+0x78/0x5dc drivers/usb/core/devio.c:1085
 __fput+0x30c/0x7f0 fs/file_table.c:280
 ____fput+0x20/0x30 fs/file_table.c:308
 task_work_run+0x130/0x1e4 kernel/task_work.c:164
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 do_notify_resume+0x262c/0x32b8 arch/arm64/kernel/signal.c:946
 prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:133 [inline]
 exit_to_user_mode arch/arm64/kernel/entry-common.c:138 [inline]
 el0_svc+0xfc/0x1f0 arch/arm64/kernel/entry-common.c:609
 el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
 el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584

Showing all locks held in the system:
1 lock held by khungtaskd/27:
 #0: ffff800014af16a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:268
3 locks held by kworker/u4:3/295:
2 locks held by getty/3727:
 #0: ffff0000d28ac098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x40/0x50 drivers/tty/tty_ldsem.c:340
 #1: ffff80001a31b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1204 drivers/tty/n_tty.c:2158
3 locks held by syz-executor.1/4005:
3 locks held by kworker/1:3/4040:
 #0: ffff0000c0020938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2283
 #1: ffff80001d107c00 ((work_completion)(&data->fib_event_work)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2285
 #2: ffff00011c234240 (&data->fib_lock){+.+.}-{3:3}, at: nsim_fib_event_work+0x274/0x33c4 drivers/net/netdevsim/fib.c:1478
5 locks held by kworker/0:12/5054:
 #0: ffff0000c2900138 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2283
 #1: ffff8000245c7c00 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2285
 #2: ffff0000cf12c220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
 #2: ffff0000cf12c220 (&dev->mutex){....}-{3:3}, at: hub_event+0x1b8/0x47d4 drivers/usb/core/hub.c:5759
 #3: ffff0000cf1905d8 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3116 [inline]
 #3: ffff0000cf1905d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5341 [inline]
 #3: ffff0000cf1905d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5585 [inline]
 #3: ffff0000cf1905d8 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5731 [inline]
 #3: ffff0000cf1905d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x1aec/0x47d4 drivers/usb/core/hub.c:5813
 #4: ffff0000cea3fa68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5342 [inline]
 #4: ffff0000cea3fa68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5585 [inline]
 #4: ffff0000cea3fa68 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5731 [inline]
 #4: ffff0000cea3fa68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x1b10/0x47d4 drivers/usb/core/hub.c:5813
1 lock held by syz-executor.0/18350:
 #0: ffff0000cf12c220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
 #0: ffff0000cf12c220 (&dev->mutex){....}-{3:3}, at: usbdev_release+0x78/0x5dc drivers/usb/core/devio.c:1085
2 locks held by kworker/0:1/27098:
 #0: ffff0000c0021938 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2283
 #1: ffff800025f07c00 ((work_completion)(&rew.rew_work)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2285
3 locks held by kworker/u4:12/27099:
1 lock held by syz-executor.2/27290:
 #0: ffff800014af5ca8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:290 [inline]
 #0: ffff800014af5ca8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x320/0x660 kernel/rcu/tree_exp.h:845

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


Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/02/26 22:02 linux-5.15.y 458ce51d0356 da36a36b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 INFO: task hung in usbdev_release
* Struck through repros no longer work on HEAD.