syzbot


INFO: task hung in __fdget_pos (2)

Status: upstream: reported on 2024/04/14 16:46
Reported-by: syzbot+ca8b153ac7b0881f3d78@syzkaller.appspotmail.com
First crash: 18d, last: 6d13h
Similar bugs (10)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in __fdget_pos kernfs 1 2229d 2229d 0/26 closed as invalid on 2018/03/27 11:08
android-44 INFO: task hung in __fdget_pos 2 2049d 2062d 0/2 auto-closed as invalid on 2019/03/21 05:21
linux-6.1 INFO: task hung in __fdget_pos 1 207d 207d 0/3 auto-obsoleted due to no activity on 2024/01/16 13:13
android-49 INFO: task hung in __fdget_pos 22 2050d 2181d 0/3 auto-closed as invalid on 2019/03/20 03:41
upstream INFO: task hung in __fdget_pos (4) fs syz error 111 3h41m 242d 0/26 upstream: reported syz repro on 2023/09/03 04:11
upstream INFO: task hung in __fdget_pos (3) fs 3 936d 953d 0/26 auto-closed as invalid on 2022/01/07 10:38
android-414 INFO: task hung in __fdget_pos 1 1918d 1849d 0/1 auto-closed as invalid on 2019/07/30 11:39
linux-5.15 INFO: task hung in __fdget_pos 1 398d 398d 0/3 auto-obsoleted due to no activity on 2023/07/29 10:54
upstream INFO: task hung in __fdget_pos (2) fs 36 1941d 2166d 0/26 closed as dup on 2018/10/27 13:29
upstream INFO: task can't die in __fdget_pos fs 1 811d 811d 0/26 auto-closed as invalid on 2022/04/12 09:48

Sample crash report:
INFO: task syz-executor.3:5627 blocked for more than 143 seconds.
      Not tainted 5.15.156-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.3  state:D stack:29056 pid: 5627 ppid:  5207 flags:0x00004006
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6518
 __mutex_lock_common+0xe34/0x25a0 kernel/locking/mutex.c:669
 __mutex_lock kernel/locking/mutex.c:729 [inline]
 mutex_lock_nested+0x17/0x20 kernel/locking/mutex.c:743
 __fdget_pos+0x2cb/0x380 fs/file.c:1088
 fdget_pos include/linux/file.h:75 [inline]
 __do_sys_getdents64 fs/readdir.c:365 [inline]
 __se_sys_getdents64+0x1d8/0x4f0 fs/readdir.c:354
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fdff2f7aea9
RSP: 002b:00007fdff14cc0c8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9
RAX: ffffffffffffffda RBX: 00007fdff30a9050 RCX: 00007fdff2f7aea9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 00007fdff2fc74a4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007fdff30a9050 R15: 00007ffd946f07a8
 </TASK>
INFO: task syz-executor.3:5631 blocked for more than 143 seconds.
      Not tainted 5.15.156-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.3  state:D stack:26744 pid: 5631 ppid:  5207 flags:0x00004006
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 d_wait_lookup+0x1f0/0x2c0 fs/dcache.c:2563
 d_alloc_parallel+0xa5e/0x1390 fs/dcache.c:2645
 lookup_open fs/namei.c:3387 [inline]
 open_last_lookups fs/namei.c:3532 [inline]
 path_openat+0x96f/0x2f20 fs/namei.c:3739
 do_filp_open+0x21c/0x460 fs/namei.c:3769
 do_sys_openat2+0x13b/0x500 fs/open.c:1253
 do_sys_open fs/open.c:1269 [inline]
 __do_sys_openat fs/open.c:1285 [inline]
 __se_sys_openat fs/open.c:1280 [inline]
 __x64_sys_openat+0x243/0x290 fs/open.c:1280
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fdff2f7aea9
RSP: 002b:00007fdff148a0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007fdff30a91f0 RCX: 00007fdff2f7aea9
RDX: 0000000000000000 RSI: 0000000020000180 RDI: ffffffffffffff9c
RBP: 00007fdff2fc74a4 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007fdff30a91f0 R15: 00007ffd946f07a8
 </TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
 #0: ffffffff8c91fb20 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by udevd/2963:
 #0: ffff88801bfe0918 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0xfb/0x790 block/bdev.c:912
 #1: ffff888146f15468 (&lo->lo_mutex){+.+.}-{3:3}, at: lo_release+0x4d/0x1f0 drivers/block/loop.c:2070
2 locks held by getty/3258:
 #0: ffff888025403098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
 #1: ffffc9000249b2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
5 locks held by kworker/0:13/3694:
 #0: ffff888016d9e138 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
 #1: ffffc90004a57d20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
 #2: ffff888147a9f220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
 #2: ffff888147a9f220 (&dev->mutex){....}-{3:3}, at: hub_event+0x208/0x54c0 drivers/usb/core/hub.c:5768
 #3: ffff88801f6b4220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
 #3: ffff88801f6b4220 (&dev->mutex){....}-{3:3}, at: __device_attach+0x8a/0x570 drivers/base/dd.c:954
 #4: ffff88801f6b61a8 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
 #4: ffff88801f6b61a8 (&dev->mutex){....}-{3:3}, at: __device_attach+0x8a/0x570 drivers/base/dd.c:954
2 locks held by kworker/u4:11/4628:
2 locks held by syz-executor.3/5613:
1 lock held by syz-executor.3/5627:
 #0: ffff888064646ff0 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x2cb/0x380 fs/file.c:1088
1 lock held by syz-executor.3/5628:
1 lock held by syz-executor.3/5631:
 #0: ffff88805b980188 (&type->i_mutex_dir_key#21){.+.+}-{3:3}, at: inode_lock_shared include/linux/fs.h:799 [inline]
 #0: ffff88805b980188 (&type->i_mutex_dir_key#21){.+.+}-{3:3}, at: open_last_lookups fs/namei.c:3531 [inline]
 #0: ffff88805b980188 (&type->i_mutex_dir_key#21){.+.+}-{3:3}, at: path_openat+0x815/0x2f20 fs/namei.c:3739
1 lock held by syz-executor.1/7845:
2 locks held by syz-executor.3/8440:
1 lock held by syz-executor.0/8443:
 #0: ffff8880596900e0 (&type->s_umount_key#62/1){+.+.}-{3:3}, at: alloc_super+0x210/0x940 fs/super.c:229
1 lock held by syz-executor.2/8458:
 #0: ffff88801bfe0918 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev+0x14d/0xa50 block/bdev.c:817

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

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2d0 lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
 watchdog+0xe72/0xeb0 kernel/hung_task.c:295
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:300
 </TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 6436 Comm: udevd Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:hlock_class kernel/locking/lockdep.c:197 [inline]
RIP: 0010:check_wait_context kernel/locking/lockdep.c:4686 [inline]
RIP: 0010:__lock_acquire+0x4a3/0x1ff0 kernel/locking/lockdep.c:4962
Code: 0f 85 29 13 00 00 44 89 33 44 89 e3 41 c1 ec 06 4a 8d 3c e5 c0 60 bf 8f be 08 00 00 00 e8 a5 6c 67 00 48 0f a3 1d 2d aa 5c 0e <73> 20 48 8d 04 5b 48 c1 e0 06 48 8d 98 c0 bf 8e 8f 48 ba 00 00 00
RSP: 0018:ffffc9000422f5c0 EFLAGS: 00000057
RAX: 0000000000000001 RBX: 0000000000000015 RCX: ffffffff8162b68b
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff8fbf60c0
RBP: 0000000000000005 R08: dffffc0000000000 R09: fffffbfff1f7ec19
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: ffff88807ed44668 R14: 0000000000000000 R15: ffff88807ed446b8
FS:  00007fadfbed5c80(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00005569a1ca1000 CR3: 0000000054f17000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 000000000000c40a DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <TASK>
 lock_acquire+0x1db/0x4f0 kernel/locking/lockdep.c:5623
 rcu_lock_acquire+0x20/0x30 include/linux/rcupdate.h:312
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 percpu_ref_put_many include/linux/percpu-refcount.h:317 [inline]
 percpu_ref_put include/linux/percpu-refcount.h:338 [inline]
 obj_cgroup_put+0xe/0xc0 include/linux/memcontrol.h:816
 memcg_slab_free_hook+0x6b/0x200 mm/slab.h:367
 do_slab_free mm/slub.c:3432 [inline]
 ___cache_free+0x67/0x100 mm/slub.c:3506
 qlist_free_all+0x36/0x90 mm/kasan/quarantine.c:176
 kasan_quarantine_reduce+0x162/0x180 mm/kasan/quarantine.c:283
 __kasan_slab_alloc+0x2f/0xc0 mm/kasan/common.c:444
 kasan_slab_alloc include/linux/kasan.h:254 [inline]
 slab_post_alloc_hook+0x53/0x380 mm/slab.h:519
 slab_alloc_node mm/slub.c:3220 [inline]
 slab_alloc mm/slub.c:3228 [inline]
 kmem_cache_alloc+0xf3/0x280 mm/slub.c:3233
 getname_flags+0xb8/0x4e0 fs/namei.c:138
 user_path_at_empty+0x2a/0x180 fs/namei.c:2882
 user_path_at include/linux/namei.h:57 [inline]
 vfs_statx+0x106/0x3b0 fs/stat.c:221
 vfs_fstatat fs/stat.c:243 [inline]
 __do_sys_newfstatat fs/stat.c:411 [inline]
 __se_sys_newfstatat fs/stat.c:405 [inline]
 __x64_sys_newfstatat+0x12c/0x1b0 fs/stat.c:405
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3b/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fadfc0005f4
Code: 64 c7 00 09 00 00 00 83 c8 ff c3 48 89 f2 b9 00 01 00 00 48 89 fe bf 9c ff ff ff e9 00 00 00 00 41 89 ca b8 06 01 00 00 0f 05 <45> 31 c0 3d 00 f0 ff ff 76 10 48 8b 15 03 a8 0d 00 f7 d8 41 83 c8
RSP: 002b:00007ffe800b9988 EFLAGS: 00000202 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fadfc0005f4
RDX: 00007ffe800b99b8 RSI: 00005569a1c377a0 RDI: 00000000ffffff9c
RBP: 0000000000000000 R08: 00000000ffffffff R09: 00005569a1c0fb30
R10: 0000000000000100 R11: 0000000000000202 R12: 0000000000006180
R13: 0000000000006180 R14: 00005569a1c377a0 R15: 00005569a1c38660
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/26 06:38 linux-5.15.y c52b9710c83d 8bdc0f22 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: task hung in __fdget_pos
2024/04/14 16:46 linux-5.15.y fa3df276cd36 c8349e48 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-arm64 INFO: task hung in __fdget_pos
* Struck through repros no longer work on HEAD.