[v5.15] INFO: task hung in hub_port_init

0 views
Skip to first unread message

syzbot

unread,
Apr 11, 2023, 4:33:47 AM4/11/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: d86dfc4d95cd Linux 5.15.106
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17d649e3c80000
kernel config: https://syzkaller.appspot.com/x/.config?x=639d55ab480652c5
dashboard link: https://syzkaller.appspot.com/bug?extid=304843f79c61c01a27b0
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/b2a94107dd69/disk-d86dfc4d.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/398f8d288cb9/vmlinux-d86dfc4d.xz
kernel image: https://storage.googleapis.com/syzbot-assets/9b790c7e7c8c/Image-d86dfc4d.gz.xz

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

INFO: task kworker/1:19:7365 blocked for more than 143 seconds.
Not tainted 5.15.106-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:kworker/1:19 state:D stack: 0 pid: 7365 ppid: 2 flags:0x00000008
Workqueue: usb_hub_wq hub_event
Call trace:
__switch_to+0x308/0x5e8 arch/arm64/kernel/process.c:518
context_switch kernel/sched/core.c:5026 [inline]
__schedule+0xf10/0x1e38 kernel/sched/core.c:6372
schedule+0x11c/0x1c8 kernel/sched/core.c:6455
usb_kill_urb+0x1c0/0x358 drivers/usb/core/urb.c:726
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/0x1e80 drivers/usb/core/hub.c:4832
hub_port_connect drivers/usb/core/hub.c:5287 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
port_event drivers/usb/core/hub.c:5648 [inline]
hub_event+0x1f9c/0x48c4 drivers/usb/core/hub.c:5730
process_one_work+0x790/0x11b8 kernel/workqueue.c:2306
worker_thread+0x910/0x1034 kernel/workqueue.c:2453
kthread+0x37c/0x45c kernel/kthread.c:319
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870

Showing all locks held in the system:
1 lock held by khungtaskd/27:
#0: ffff800014aa1660 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:268
2 locks held by getty/3735:
#0: ffff0000d2c3d098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x40/0x50 drivers/tty/tty_ldsem.c:340
#1: ffff80001a30b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1200 drivers/tty/n_tty.c:2147
1 lock held by syz-fuzzer/4056:
2 locks held by kworker/u4:8/4721:
5 locks held by kworker/1:19/7365:
#0: ffff0000c28c9938 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2279
#1: ffff800022657c00 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2281
#2: ffff0000cf25d220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff0000cf25d220 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c8/0x48c4 drivers/usb/core/hub.c:5676
#3: ffff0000cf2715d8 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3091 [inline]
#3: ffff0000cf2715d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5254 [inline]
#3: ffff0000cf2715d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
#3: ffff0000cf2715d8 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5648 [inline]
#3: ffff0000cf2715d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x1a34/0x48c4 drivers/usb/core/hub.c:5730
#4: ffff0000cee57268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5255 [inline]
#4: ffff0000cee57268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
#4: ffff0000cee57268 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5648 [inline]
#4: ffff0000cee57268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x1a5c/0x48c4 drivers/usb/core/hub.c:5730
3 locks held by syz-executor.4/15013:
1 lock held by syz-executor.0/15026:

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



---
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 11, 2023, 9:28:01 AM6/11/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 7349e40704a0 Linux 5.15.116
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1199d48b280000
kernel config: https://syzkaller.appspot.com/x/.config?x=f650a0601dbf525d
dashboard link: https://syzkaller.appspot.com/bug?extid=304843f79c61c01a27b0
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=1707213b280000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10ce6d2d280000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/eec1263e4f05/disk-7349e407.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/833d6ae016fd/vmlinux-7349e407.xz
kernel image: https://storage.googleapis.com/syzbot-assets/da142afba386/Image-7349e407.gz.xz

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

INFO: task kworker/0:0:7 blocked for more than 143 seconds.
Not tainted 5.15.116-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+0x308/0x5e8 arch/arm64/kernel/process.c:518
context_switch kernel/sched/core.c:5026 [inline]
__schedule+0xf10/0x1e38 kernel/sched/core.c:6372
schedule+0x11c/0x1c8 kernel/sched/core.c:6455
usb_kill_urb+0x1c0/0x358 drivers/usb/core/urb.c:726
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/0x1e80 drivers/usb/core/hub.c:4832
hub_port_connect drivers/usb/core/hub.c:5287 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
port_event drivers/usb/core/hub.c:5648 [inline]
hub_event+0x1f9c/0x48c4 drivers/usb/core/hub.c:5730
process_one_work+0x790/0x11b8 kernel/workqueue.c:2307
worker_thread+0x910/0x1034 kernel/workqueue.c:2454
kthread+0x37c/0x45c kernel/kthread.c:319
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870

Showing all locks held in the system:
5 locks held by kworker/0:0/7:
#0: ffff0000c2842538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x66c/0x11b8 kernel/workqueue.c:2280
#1: ffff8000188d7c00 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6ac/0x11b8 kernel/workqueue.c:2282
#2: ffff0000cea82220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff0000cea82220 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c8/0x48c4 drivers/usb/core/hub.c:5676
#3: ffff0000cea865d8 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3091 [inline]
#3: ffff0000cea865d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5254 [inline]
#3: ffff0000cea865d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
#3: ffff0000cea865d8 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5648 [inline]
#3: ffff0000cea865d8 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x1a34/0x48c4 drivers/usb/core/hub.c:5730
#4: ffff0000ce7cf268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5255 [inline]
#4: ffff0000ce7cf268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5502 [inline]
#4: ffff0000ce7cf268 (hcd->address0_mutex){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5648 [inline]
#4: ffff0000ce7cf268 (hcd->address0_mutex){+.+.}-{3:3}, at: hub_event+0x1a5c/0x48c4 drivers/usb/core/hub.c:5730
1 lock held by khungtaskd/27:
#0: ffff800014ac19a0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:268
2 locks held by getty/3739:
#0: ffff0000d33ec098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x40/0x50 drivers/tty/tty_ldsem.c:340
#1: ffff80001a29b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1200 drivers/tty/n_tty.c:2147
1 lock held by syz-executor487/3983:
#0: ffff80001486a058 (tasklist_lock){.+.+}-{2:2}, at: cputime_adjust kernel/sched/cputime.c:547 [inline]
#0: ffff80001486a058 (tasklist_lock){.+.+}-{2:2}, at: thread_group_cputime_adjusted+0xd0/0x2b0 kernel/sched/cputime.c:628
7 locks held by syz-executor487/32691:

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



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