syzbot has found a reproducer for the following issue on:
HEAD commit: 58485ff1a74f Linux 6.1.141
git tree: linux-6.1.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=11cded70580000
syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=1469510c580000
mounted in repro:
https://storage.googleapis.com/syzbot-assets/e71071daa015/mount_0.gz
fsck result: failed (log:
https://syzkaller.appspot.com/x/fsck.log?x=1797d9d4580000)
INFO: task syz.1.1566:9637 blocked for more than 143 seconds.
Not tainted 6.1.141-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.1.1566 state:D stack:0 pid:9637 ppid:4461 flags:0x0000000d
Call trace:
__switch_to+0x2f4/0x568 arch/arm64/kernel/process.c:555
context_switch kernel/sched/core.c:5244 [inline]
__schedule+0xdd4/0x1b2c kernel/sched/core.c:6561
schedule+0xc4/0x170 kernel/sched/core.c:6637
schedule_preempt_disabled+0x18/0x2c kernel/sched/core.c:6696
__mutex_lock_common+0xad4/0x1f38 kernel/locking/mutex.c:679
__mutex_lock kernel/locking/mutex.c:747 [inline]
mutex_lock_nested+0x38/0x44 kernel/locking/mutex.c:799
reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
reiserfs_mutex_lock_safe fs/reiserfs/reiserfs.h:815 [inline]
lock_journal fs/reiserfs/journal.c:534 [inline]
do_journal_end+0x2fc/0x3bb0 fs/reiserfs/journal.c:4029
journal_end+0x1cc/0x270 fs/reiserfs/journal.c:3418
reiserfs_do_truncate+0x970/0x1020 fs/reiserfs/stree.c:2013
reiserfs_truncate_file+0x5c0/0xaf4 fs/reiserfs/inode.c:2310
reiserfs_file_release+0x710/0x894 fs/reiserfs/file.c:109
__fput+0x1bc/0x7c0 fs/file_table.c:320
____fput+0x20/0x30 fs/file_table.c:348
task_work_run+0x1ec/0x270 kernel/task_work.c:203
get_signal+0x1120/0x1310 kernel/signal.c:2648
do_signal arch/arm64/kernel/signal.c:1081 [inline]
do_notify_resume+0x340/0x2b0c arch/arm64/kernel/signal.c:1134
prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:137 [inline]
exit_to_user_mode arch/arm64/kernel/entry-common.c:142 [inline]
el0_svc+0x98/0x138 arch/arm64/kernel/entry-common.c:638
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
INFO: task syz.1.1566:9650 blocked for more than 143 seconds.
Not tainted 6.1.141-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz.1.1566 state:D stack:0 pid:9650 ppid:4461 flags:0x00000009
2 locks held by kworker/0:2/112:
#0: ffff0000c0021938 ((wq_completion)rcu_gp){+.+.}-{0:0}, at: process_one_work+0x6b4/0x13a8 kernel/workqueue.c:2265
#1: ffff800020427c20 ((work_completion)(&rew->rew_work)){+.+.}-{0:0}, at: process_one_work+0x6f8/0x13a8 kernel/workqueue.c:2267
4 locks held by kworker/1:3/3874:
#0: ffff0000c0021138 ((wq_completion)events_long){+.+.}-{0:0}, at: process_one_work+0x6b4/0x13a8 kernel/workqueue.c:2265
#1: ffff8000233e7c20 ((work_completion)(&(&sbi->old_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6f8/0x13a8 kernel/workqueue.c:2267
#2: ffff0000d311c0e0 (&type->s_umount_key#50){++++}-{3:3}, at: flush_old_commits+0xc8/0x29c fs/reiserfs/super.c:97
#3: ffff0000eaa40090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x7c/0xe8 fs/reiserfs/lock.c:27
2 locks held by getty/4063:
#0: ffff0000d674a098 (&tty->ldisc_sem){++++}-{0:0}, at: ldsem_down_read+0x3c/0x4c drivers/tty/tty_ldsem.c:340
#1: ffff80001ce702f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x2ec/0xf9c drivers/tty/n_tty.c:2198
1 lock held by udevd/4394:
4 locks held by kworker/1:8/4440:
#0: ffff0000c0021138 ((wq_completion)events_long){+.+.}-{0:0}, at: process_one_work+0x6b4/0x13a8 kernel/workqueue.c:2265
#1: ffff800020c97c20 ((work_completion)(&(&sbi->old_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6f8/0x13a8 kernel/workqueue.c:2267
#2: ffff0000d970a0e0 (&type->s_umount_key#50){++++}-{3:3}, at: flush_old_commits+0xc8/0x29c fs/reiserfs/super.c:97
#3: ffff0000dc1d7090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x7c/0xe8 fs/reiserfs/lock.c:27
3 locks held by kworker/1:9/4441:
#0: ffff00019f74c158 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested kernel/sched/core.c:537 [inline]
#0: ffff00019f74c158 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock kernel/sched/sched.h:1355 [inline]
#0: ffff00019f74c158 (&rq->__lock){-.-.}-{2:2}, at: rq_lock kernel/sched/sched.h:1645 [inline]
#0: ffff00019f74c158 (&rq->__lock){-.-.}-{2:2}, at: __schedule+0x2b8/0x1b2c kernel/sched/core.c:6477
#1: ffff00019f738b88 (&per_cpu_ptr(group->pcpu, cpu)->seq){-.-.}-{0:0}, at: psi_task_switch+0x380/0x608 kernel/sched/psi.c:999
#2: ffff800015246d60 (rcu_read_lock_bh){....}-{1:2}, at: rcu_lock_acquire+0x10/0x4c include/linux/rcupdate.h:349
4 locks held by kworker/0:6/4449:
#0: ffff0000c0021138 ((wq_completion)events_long){+.+.}-{0:0}, at: process_one_work+0x6b4/0x13a8 kernel/workqueue.c:2265
#1: ffff800020d07c20 ((work_completion)(&(&sbi->old_work)->work)){+.+.}-{0:0}, at: process_one_work+0x6f8/0x13a8 kernel/workqueue.c:2267
#2: ffff0000df1f60e0 (&type->s_umount_key#50){++++}-{3:3}, at: flush_old_commits+0xc8/0x29c fs/reiserfs/super.c:97
#3: ffff0000d0533090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x7c/0xe8 fs/reiserfs/lock.c:27
1 lock held by syz-executor/4467:
#0: ffff80001524c9b8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: exp_funnel_lock kernel/rcu/tree_exp.h:291 [inline]
#0: ffff80001524c9b8 (rcu_state.exp_mutex){+.+.}-{3:3}, at: synchronize_rcu_expedited+0x3a8/0x6f0 kernel/rcu/tree_exp.h:962
2 locks held by udevd/4537:
3 locks held by kworker/u4:9/4785:
3 locks held by syz.1.1566/9637:
#0: ffff0000e962eab8 (&ei->tailpack){+.+.}-{3:3}, at: reiserfs_file_release+0xc8/0x894 fs/reiserfs/file.c:41
#1: ffff8000211ab0f0 (&journal->j_mutex){+.+.}-{3:3}, at: reiserfs_mutex_lock_safe fs/reiserfs/reiserfs.h:814 [inline]
#1: ffff8000211ab0f0 (&journal->j_mutex){+.+.}-{3:3}, at: lock_journal fs/reiserfs/journal.c:534 [inline]
#1: ffff8000211ab0f0 (&journal->j_mutex){+.+.}-{3:3}, at: do_journal_end+0x2f0/0x3bb0 fs/reiserfs/journal.c:4029
#2: ffff0000d0533090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
3 locks held by syz.1.1566/9650:
#0: ffff0000df1f6460 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x44/0x9c fs/namespace.c:393
#1: ffff0000e962ece0 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
#1: ffff0000e962ece0 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: do_truncate+0x164/0x1f0 fs/open.c:63
#2: ffff0000d0533090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
3 locks held by syz.2.1865/10630:
#0: ffff0000e9660758 (&ei->tailpack){+.+.}-{3:3}, at: reiserfs_file_release+0xc8/0x894 fs/reiserfs/file.c:41
#1: ffff8000218f90f0 (&journal->j_mutex){+.+.}-{3:3}, at: reiserfs_mutex_lock_safe fs/reiserfs/reiserfs.h:814 [inline]
#1: ffff8000218f90f0 (&journal->j_mutex){+.+.}-{3:3}, at: lock_journal fs/reiserfs/journal.c:534 [inline]
#1: ffff8000218f90f0 (&journal->j_mutex){+.+.}-{3:3}, at: do_journal_end+0x2f0/0x3bb0 fs/reiserfs/journal.c:4029
#2: ffff0000eaa40090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
3 locks held by syz.2.1865/10644:
#0: ffff0000d311c460 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x44/0x9c fs/namespace.c:393
#1: ffff0000e9660980 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
#1: ffff0000e9660980 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: do_truncate+0x164/0x1f0 fs/open.c:63
#2: ffff0000eaa40090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
1 lock held by syz-executor/10896:
#0: ffff0000dd9f40e0 (&type->s_umount_key#50){++++}-{3:3}, at: deactivate_super+0xe0/0x108 fs/super.c:362
1 lock held by udevd/11075:
3 locks held by syz.0.2154/11565:
#0: ffff0000e962dd78 (&ei->tailpack){+.+.}-{3:3}, at: reiserfs_file_release+0xc8/0x894 fs/reiserfs/file.c:41
#1: ffff800021b2c0f0 (&journal->j_mutex){+.+.}-{3:3}, at: reiserfs_mutex_lock_safe fs/reiserfs/reiserfs.h:814 [inline]
#1: ffff800021b2c0f0 (&journal->j_mutex){+.+.}-{3:3}, at: lock_journal fs/reiserfs/journal.c:534 [inline]
#1: ffff800021b2c0f0 (&journal->j_mutex){+.+.}-{3:3}, at: do_journal_end+0x2f0/0x3bb0 fs/reiserfs/journal.c:4029
#2: ffff0000dc1d7090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
3 locks held by syz.0.2154/11579:
#0: ffff0000d970a460 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x44/0x9c fs/namespace.c:393
#1: ffff0000e962dfa0 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
#1: ffff0000e962dfa0 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: do_truncate+0x164/0x1f0 fs/open.c:63
#2: ffff0000dc1d7090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock_nested+0x68/0xd8 fs/reiserfs/lock.c:78
1 lock held by syz-executor/11836:
#0: ffff0000cb9fc0e0 (&type->s_umount_key#50){++++}-{3:3}, at: deactivate_super+0xe0/0x108 fs/super.c:362
2 locks held by syz.5.2397/12374:
1 lock held by syz.3.2399/12378:
=============================================
---
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.