[v5.15] INFO: task hung in usbdev_release

0 views
Skip to first unread message

syzbot

unread,
Feb 26, 2024, 5:03:27 PMFeb 26
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 458ce51d0356 Linux 5.15.149
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=173fd8e4180000
kernel config: https://syzkaller.appspot.com/x/.config?x=72292cff014cb054
dashboard link: https://syzkaller.appspot.com/bug?extid=ed471f0949208e89b604
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/5e02146c6560/disk-458ce51d.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/267e4c48f387/vmlinux-458ce51d.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e46fd8f3e04b/Image-458ce51d.gz.xz

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

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

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



---
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