syzbot


INFO: task hung in usbdev_open

Status: fixed on 2023/06/28 17:15
Bug presence: origin:lts-only
[Documentation on labels]
Reported-by: syzbot+34ba91bf0a28be896ebe@syzkaller.appspotmail.com
Fix commit: d5dba4b7bf90 USB: sisusbvga: Add endpoint checks
First crash: 380d, last: 323d
Fix bisection: fixed by (bisect log) :
commit d5dba4b7bf904143702fb4be641802ee2e9c95aa
Author: Alan Stern <stern@rowland.harvard.edu>
Date: Mon Apr 10 19:38:22 2023 +0000

  USB: sisusbvga: Add endpoint checks

  
Bug presence (2)
Date Name Commit Repro Result
2023/05/12 linux-6.1.y (ToT) bf4ad6fa4e53 C [report] INFO: task hung in usbdev_open
2023/05/12 upstream (ToT) cc3c44c9fda2 C Didn't crash
Similar bugs (11)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 INFO: task hung in usbdev_open (3) 1 477d 477d 0/1 upstream: reported on 2022/12/25 16:08
upstream INFO: task hung in usbdev_open (2) usb C error 622 2d09h 1203d 0/26 upstream: reported C repro on 2020/12/29 11:48
linux-4.19 INFO: task hung in usbdev_open (2) 2 876d 884d 0/1 auto-closed as invalid on 2022/03/21 09:54
linux-5.15 INFO: task hung in usbdev_open origin:lts-only C error 17 6d09h 380d 0/3 upstream: reported C repro on 2023/04/01 11:58
linux-6.1 INFO: task hung in usbdev_open (2) 1 127d 127d 0/3 auto-obsoleted due to no activity on 2024/03/20 05:29
linux-4.19 INFO: task hung in usbdev_open 6 1176d 1263d 0/1 auto-closed as invalid on 2021/05/25 14:21
linux-4.14 INFO: task hung in usbdev_open 7 1135d 1274d 0/1 auto-closed as invalid on 2021/07/05 05:59
upstream INFO: task hung in usbdev_open usb 2 1665d 1665d 0/26 auto-closed as invalid on 2019/12/23 20:14
linux-6.1 INFO: task hung in usbdev_open (3) 1 16d 16d 0/3 upstream: reported on 2024/03/31 03:03
linux-4.14 INFO: task hung in usbdev_open (2) 1 427d 427d 0/1 upstream: reported on 2023/02/13 07:50
upstream INFO: task can't die in usbdev_open usb 4 1169d 1282d 0/26 auto-closed as invalid on 2021/04/02 18:49

Sample crash report:
INFO: task syz-executor396:4360 blocked for more than 143 seconds.
      Not tainted 6.1.22-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor396 state:D stack:0     pid:4360  ppid:4343   flags:0x00000001
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
 schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6689
 __mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:679
 __mutex_lock kernel/locking/mutex.c:747 [inline]
 mutex_lock_nested+0x38/0x44 kernel/locking/mutex.c:799
 device_lock include/linux/device.h:836 [inline]
 usbdev_open+0x13c/0x6c0 drivers/usb/core/devio.c:1042
 chrdev_open+0x3e8/0x4fc fs/char_dev.c:414
 do_dentry_open+0x734/0xfa0 fs/open.c:882
 vfs_open+0x7c/0x90 fs/open.c:1013
 do_open fs/namei.c:3557 [inline]
 path_openat+0x1e14/0x2548 fs/namei.c:3714
 do_filp_open+0x1bc/0x3cc fs/namei.c:3741
 do_sys_openat2+0x128/0x3d8 fs/open.c:1310
 do_sys_open fs/open.c:1326 [inline]
 __do_sys_openat fs/open.c:1342 [inline]
 __se_sys_openat fs/open.c:1337 [inline]
 __arm64_sys_openat+0x1f0/0x240 fs/open.c:1337
 __invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
 invoke_syscall+0x98/0x2c0 arch/arm64/kernel/syscall.c:52
 el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:142
 do_el0_svc+0x64/0x218 arch/arm64/kernel/syscall.c:206
 el0_svc+0x58/0x168 arch/arm64/kernel/entry-common.c:637
 el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
 el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:581

Showing all locks held in the system:
1 lock held by rcu_tasks_kthre/12:
 #0: ffff800015754a30 (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: ffff800015755230 (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: ffff800015754860 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:305
5 locks held by kworker/0:2/109:
 #0: ffff0000c26a0d38 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x664/0x1404 kernel/workqueue.c:2262
 #1: ffff80001d737c20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x6a8/0x1404 kernel/workqueue.c:2264
 #2: ffff0000cee85190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
 #2: ffff0000cee85190 (&dev->mutex){....}-{3:3}, at: hub_event+0x1c0/0x44a0 drivers/usb/core/hub.c:5683
 #3: ffff0000ce217190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
 #3: ffff0000ce217190 (&dev->mutex){....}-{3:3}, at: __device_attach+0x90/0x480 drivers/base/dd.c:983
 #4: ffff0000d42f3118 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
 #4: ffff0000d42f3118 (&dev->mutex){....}-{3:3}, at: __device_attach+0x90/0x480 drivers/base/dd.c:983
2 locks held by getty/3992:
 #0: ffff0000d4316098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x3c/0x4c drivers/tty/tty_ldsem.c:340
 #1: ffff80001ca002f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x414/0x1210 drivers/tty/n_tty.c:2177
4 locks held by udevd/4356:
 #0: ffff0000d087d2f0 (&p->lock){+.+.}-{3:3}, at: seq_read_iter+0xac/0xc44 fs/seq_file.c:182
 #1: ffff0000cf642488 (&of->mutex){+.+.}-{3:3}, at: kernfs_seq_start+0x58/0x384 fs/kernfs/file.c:150
 #2: ffff0000c1a6d830 (kn->active#9){.+.+}-{0:0}, at: kernfs_seq_start+0x74/0x384 fs/kernfs/file.c:151
 #3: ffff0000ce217190 (&dev->mutex){....}-{3:3}, at: device_lock_interruptible include/linux/device.h:841 [inline]
 #3: ffff0000ce217190 (&dev->mutex){....}-{3:3}, at: manufacturer_show+0x30/0xac drivers/usb/core/sysfs.c:141
1 lock held by syz-executor396/4360:
 #0: ffff0000cee85190 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:836 [inline]
 #0: ffff0000cee85190 (&dev->mutex){....}-{3:3}, at: usbdev_open+0x13c/0x6c0 drivers/usb/core/devio.c:1042

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


Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/04/01 07:55 linux-6.1.y 3b29299e5f60 f325deb0 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usbdev_open
2023/05/28 13:22 linux-6.1.y a343b0dd87b4 cf184559 .config console log report syz C [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan INFO: task hung in usbdev_open
2023/04/19 17:35 linux-6.1.y 0102425ac76b 94b4184e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan-arm64 INFO: task hung in usbdev_open
* Struck through repros no longer work on HEAD.