Re: [syzbot] [fs] INFO: task hung in __fdget_pos (4)

syzbot
2024-09-21T05:58:17Z

syzbot has found a reproducer for the following issue on:

HEAD commit: 5f5673607153 Merge branch 'for-next/core' into for-kernelci
git tree: git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci
console output: https://syzkaller.appspot.com/x/log.txt?x=11c1ee9f980000
kernel config: https://syzkaller.appspot.com/x/.config?x=dedbcb1ff4387972
dashboard link: https://syzkaller.appspot.com/bug?extid=e245f0516ee625aaa412
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15f86427980000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1169ff00580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/40172aed5414/disk-5f567360.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/58372f305e9d/vmlinux-5f567360.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d2aae6fa798f/Image-5f567360.gz.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/68d8cbbc10b8/mount_0.gz

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

INFO: task syz-executor273:6489 blocked for more than 143 seconds.
Not tainted 6.11.0-rc7-syzkaller-g5f5673607153 #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor273 state:D stack:0 pid:6489 tgid:6484 ppid:6438 flags:0x00000005
Call trace:
__switch_to+0x420/0x6dc arch/arm64/kernel/process.c:603
context_switch kernel/sched/core.c:5188 [inline]
__schedule+0x13d4/0x2418 kernel/sched/core.c:6529
__schedule_loop kernel/sched/core.c:6606 [inline]
schedule+0xbc/0x238 kernel/sched/core.c:6621
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6678
__mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:684
__mutex_lock kernel/locking/mutex.c:752 [inline]
mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804
__fdget_pos+0x218/0x2a4 fs/file.c:1187
fdget_pos include/linux/file.h:76 [inline]
ksys_read+0x8c/0x26c fs/read_write.c:610
__do_sys_read fs/read_write.c:629 [inline]
__se_sys_read fs/read_write.c:627 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:627
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
INFO: task syz-executor273:6492 blocked for more than 143 seconds.
Not tainted 6.11.0-rc7-syzkaller-g5f5673607153 #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor273 state:D stack:0 pid:6492 tgid:6490 ppid:6439 flags:0x0000000d
Call trace:
__switch_to+0x420/0x6dc arch/arm64/kernel/process.c:603
context_switch kernel/sched/core.c:5188 [inline]
__schedule+0x13d4/0x2418 kernel/sched/core.c:6529
__schedule_loop kernel/sched/core.c:6606 [inline]
schedule+0xbc/0x238 kernel/sched/core.c:6621
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6678
__mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:684
__mutex_lock kernel/locking/mutex.c:752 [inline]
mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804
__fdget_pos+0x218/0x2a4 fs/file.c:1187
fdget_pos include/linux/file.h:76 [inline]
ksys_read+0x8c/0x26c fs/read_write.c:610
__do_sys_read fs/read_write.c:629 [inline]
__se_sys_read fs/read_write.c:627 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:627
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
INFO: task syz-executor273:6495 blocked for more than 143 seconds.
Not tainted 6.11.0-rc7-syzkaller-g5f5673607153 #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor273 state:D stack:0 pid:6495 tgid:6493 ppid:6440 flags:0x00000005
Call trace:
__switch_to+0x420/0x6dc arch/arm64/kernel/process.c:603
context_switch kernel/sched/core.c:5188 [inline]
__schedule+0x13d4/0x2418 kernel/sched/core.c:6529
__schedule_loop kernel/sched/core.c:6606 [inline]
schedule+0xbc/0x238 kernel/sched/core.c:6621
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6678
__mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:684
__mutex_lock kernel/locking/mutex.c:752 [inline]
mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804
__fdget_pos+0x218/0x2a4 fs/file.c:1187
fdget_pos include/linux/file.h:76 [inline]
ksys_read+0x8c/0x26c fs/read_write.c:610
__do_sys_read fs/read_write.c:629 [inline]
__se_sys_read fs/read_write.c:627 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:627
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
INFO: task syz-executor273:6498 blocked for more than 143 seconds.
Not tainted 6.11.0-rc7-syzkaller-g5f5673607153 #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor273 state:D stack:0 pid:6498 tgid:6496 ppid:6443 flags:0x00000005
Call trace:
__switch_to+0x420/0x6dc arch/arm64/kernel/process.c:603
context_switch kernel/sched/core.c:5188 [inline]
__schedule+0x13d4/0x2418 kernel/sched/core.c:6529
__schedule_loop kernel/sched/core.c:6606 [inline]
schedule+0xbc/0x238 kernel/sched/core.c:6621
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6678
__mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:684
__mutex_lock kernel/locking/mutex.c:752 [inline]
mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804
__fdget_pos+0x218/0x2a4 fs/file.c:1187
fdget_pos include/linux/file.h:76 [inline]
ksys_read+0x8c/0x26c fs/read_write.c:610
__do_sys_read fs/read_write.c:629 [inline]
__se_sys_read fs/read_write.c:627 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:627
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598
INFO: task syz-executor273:6502 blocked for more than 143 seconds.
Not tainted 6.11.0-rc7-syzkaller-g5f5673607153 #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor273 state:D stack:0 pid:6502 tgid:6500 ppid:6444 flags:0x00000005
Call trace:
__switch_to+0x420/0x6dc arch/arm64/kernel/process.c:603
context_switch kernel/sched/core.c:5188 [inline]
__schedule+0x13d4/0x2418 kernel/sched/core.c:6529
__schedule_loop kernel/sched/core.c:6606 [inline]
schedule+0xbc/0x238 kernel/sched/core.c:6621
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6678
__mutex_lock_common+0xbd8/0x21a0 kernel/locking/mutex.c:684
__mutex_lock kernel/locking/mutex.c:752 [inline]
mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804
__fdget_pos+0x218/0x2a4 fs/file.c:1187
fdget_pos include/linux/file.h:76 [inline]
ksys_read+0x8c/0x26c fs/read_write.c:610
__do_sys_read fs/read_write.c:629 [inline]
__se_sys_read fs/read_write.c:627 [inline]
__arm64_sys_read+0x7c/0x90 fs/read_write.c:627
__invoke_syscall arch/arm64/kernel/syscall.c:35 [inline]
invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:49
el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:132
do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:151
el0_svc+0x54/0x168 arch/arm64/kernel/entry-common.c:712
el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:730
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:598

Showing all locks held in the system:
1 lock held by khungtaskd/31:
#0: ffff80008f74dfa0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0xc/0x44 include/linux/rcupdate.h:325
2 locks held by getty/6174:
#0: ffff0000d24390a0 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x3c/0x4c drivers/tty/tty_ldsem.c:340
#1: ffff80009b50e2f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x41c/0x1228 drivers/tty/n_tty.c:2211
2 locks held by syz-executor273/6485:
1 lock held by syz-executor273/6489:
#0: ffff0000c8fd14c8 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x218/0x2a4 fs/file.c:1187
2 locks held by syz-executor273/6491:
1 lock held by syz-executor273/6492:
#0: ffff0000d6134d48 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x218/0x2a4 fs/file.c:1187
2 locks held by syz-executor273/6494:
1 lock held by syz-executor273/6495:
#0: ffff0000cd021c48 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x218/0x2a4 fs/file.c:1187
3 locks held by syz-executor273/6497:
1 lock held by syz-executor273/6498:
#0: ffff0000cebe9748 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x218/0x2a4 fs/file.c:1187
2 locks held by syz-executor273/6501:
1 lock held by syz-executor273/6502:
#0: ffff0000d01660c8 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x218/0x2a4 fs/file.c:1187

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

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