[v6.1] INFO: task hung in hub_port_init

1 view
Skip to first unread message

syzbot

unread,
Mar 11, 2023, 4:39:41 PM3/11/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 11585e2f8b9d Linux 6.1.17
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=11957deac80000
kernel config: https://syzkaller.appspot.com/x/.config?x=740051f61d5ba775
dashboard link: https://syzkaller.appspot.com/bug?extid=4e99f9ce9d00f2c79090
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/344bdc1161a0/disk-11585e2f.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/fbb847890efd/vmlinux-11585e2f.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3a06888da390/Image-11585e2f.gz.xz

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

INFO: task kworker/0:0:7 blocked for more than 143 seconds.
Not tainted 6.1.17-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/0:0 state:D stack:0 pid:7 ppid:2 flags:0x00000008
Workqueue: usb_hub_wq hub_event
Call trace:
__switch_to+0x320/0x754 arch/arm64/kernel/process.c:553
context_switch kernel/sched/core.c:5238 [inline]
__schedule+0xf9c/0x1d84 kernel/sched/core.c:6551
schedule+0xc4/0x170 kernel/sched/core.c:6627
usb_kill_urb+0x1b4/0x32c drivers/usb/core/urb.c:728
usb_start_wait_urb+0x16c/0x414 drivers/usb/core/message.c:64
usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
usb_control_msg+0x228/0x3f8 drivers/usb/core/message.c:153
hub_port_init+0x89c/0x1eb8 drivers/usb/core/hub.c:4827
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+0x20b8/0x44a0 drivers/usb/core/hub.c:5737
process_one_work+0x868/0x16f4 kernel/workqueue.c:2289
worker_thread+0x8e4/0xfec kernel/workqueue.c:2436
kthread+0x24c/0x2d4 kernel/kthread.c:376
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860

Showing all locks held in the system:
5 locks held by kworker/0:0/7:
#0: ffff0000c18a3d38 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x664/0x16f4 kernel/workqueue.c:2262
#1: ffff800019cd7c20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6a8/0x16f4 kernel/workqueue.c:2264
#2: ffff0000cfc20190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
#2: ffff0000cfc20190 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c0/0x44a0 drivers/usb/core/hub.c:5683
#3: ffff0000cfc23510 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3105 [inline]
#3: ffff0000cfc23510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5251 [inline]
#3: ffff0000cfc23510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
#3: ffff0000cfc23510 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
#3: ffff0000cfc23510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x1b78/0x44a0 drivers/usb/core/hub.c:5737
#4: ffff0000cf74bc68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5252 [inline]
#4: ffff0000cf74bc68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
#4: ffff0000cf74bc68 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
#4: ffff0000cf74bc68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x1ba0/0x44a0 drivers/usb/core/hub.c:5737
1 lock held by rcu_tasks_kthre/12:
#0: ffff800015905e30 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x44/0xcf4 kernel/rcu/tasks.h:510
1 lock held by rcu_tasks_trace/13:
#0: ffff800015906630 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x44/0xcf4 kernel/rcu/tasks.h:510
1 lock held by khungtaskd/28:
#0: ffff800015905c60 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:305
2 locks held by getty/3987:
#0: ffff0000d3ec5098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x3c/0x4c drivers/tty/tty_ldsem.c:340
#1: ffff80001bbb02f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1210 drivers/tty/n_tty.c:2177

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



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

syzbot

unread,
Jun 10, 2023, 10:26:48 PM6/10/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 2f3918bc53fb Linux 6.1.33
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1272dd43280000
kernel config: https://syzkaller.appspot.com/x/.config?x=64e29382e385f1b9
dashboard link: https://syzkaller.appspot.com/bug?extid=4e99f9ce9d00f2c79090
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13e159fd280000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11025c53280000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/f180a77b248f/disk-2f3918bc.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/582d3206652e/vmlinux-2f3918bc.xz
kernel image: https://storage.googleapis.com/syzbot-assets/20934119e0f6/Image-2f3918bc.gz.xz

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

INFO: task kworker/0:1:14 blocked for more than 143 seconds.
Not tainted 6.1.33-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/0:1 state:D stack:0 pid:14 ppid:2 flags:0x00000008
Workqueue: usb_hub_wq hub_event
Call trace:
__switch_to+0x320/0x754 arch/arm64/kernel/process.c:553
context_switch kernel/sched/core.c:5241 [inline]
__schedule+0xee4/0x1c98 kernel/sched/core.c:6554
schedule+0xc4/0x170 kernel/sched/core.c:6630
usb_kill_urb+0x1b4/0x32c drivers/usb/core/urb.c:728
usb_start_wait_urb+0x16c/0x414 drivers/usb/core/message.c:64
usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
usb_control_msg+0x228/0x3f8 drivers/usb/core/message.c:153
hub_port_init+0x89c/0x1eb8 drivers/usb/core/hub.c:4827
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+0x20b8/0x44a0 drivers/usb/core/hub.c:5737
process_one_work+0x7ac/0x1404 kernel/workqueue.c:2289
worker_thread+0x8e4/0xfec kernel/workqueue.c:2436
kthread+0x250/0x2d8 kernel/kthread.c:376
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860

Showing all locks held in the system:
1 lock held by rcu_tasks_kthre/12:
#0: ffff800015794df0 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x44/0xcf4 kernel/rcu/tasks.h:510
1 lock held by rcu_tasks_trace/13:
#0: ffff8000157955f0 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x44/0xcf4 kernel/rcu/tasks.h:510
5 locks held by kworker/0:1/14:
#0: ffff0000c4612938 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x664/0x1404 kernel/workqueue.c:2262
#1: ffff800019bd7c20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6a8/0x1404 kernel/workqueue.c:2264
#2: ffff0000d1bb3190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
#2: ffff0000d1bb3190 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c0/0x44a0 drivers/usb/core/hub.c:5683
#3: ffff0000d1bb7510 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3105 [inline]
#3: ffff0000d1bb7510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5251 [inline]
#3: ffff0000d1bb7510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
#3: ffff0000d1bb7510 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
#3: ffff0000d1bb7510 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x1b78/0x44a0 drivers/usb/core/hub.c:5737
#4: ffff0000d1b60a68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5252 [inline]
#4: ffff0000d1b60a68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5499 [inline]
#4: ffff0000d1b60a68 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5655 [inline]
#4: ffff0000d1b60a68 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x1ba0/0x44a0 drivers/usb/core/hub.c:5737
1 lock held by khungtaskd/28:
#0: ffff800015794c20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:305
2 locks held by getty/3978:
#0: ffff0000d8128098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x3c/0x4c drivers/tty/tty_ldsem.c:340
#1: ffff80001ba202f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1210 drivers/tty/n_tty.c:2177
1 lock held by syz-executor121/4246:
#0: ffff80001553a058 (tasklist_lock){.+.+}-{2:2}, at: do_wait+0x2bc/0xb40 kernel/exit.c:1602
4 locks held by syz-executor121/7728:
#0: ffff0000d8430460 (sb_writers#7){.+.+}-{0:0}, at: vfs_write+0x244/0x914 fs/read_write.c:580
#1: ffff80001986bfd0 (&obj_hash[i].lock){-.-.}-{2:2}, at: krc_this_cpu_lock kernel/rcu/tree.c:2945 [inline]
#1: ffff80001986bfd0 (&obj_hash[i].lock){-.-.}-{2:2}, at: add_ptr_to_bulk_krc_lock kernel/rcu/tree.c:3254 [inline]
#1: ffff80001986bfd0 (&obj_hash[i].lock){-.-.}-{2:2}, at: kvfree_call_rcu+0x11c/0x714 kernel/rcu/tree.c:3345
#2: ffff0000d1ba6578 (&sig->wait_chldexit){....}-{2:2}, at: __wake_up_common_lock kernel/sched/wait.c:137 [inline]
#2: ffff0000d1ba6578 (&sig->wait_chldexit){....}-{2:2}, at: __wake_up_sync_key+0xf4/0x1ac kernel/sched/wait.c:208
#3: ffff0000c09307f0 (&memcg->move_lock){-...}-{2:2}, at: folio_memcg_lock+0xb4/0x20c mm/memcontrol.c:2109

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



---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages