ntfs3: loop2: Failed to initialize $Extend/$Reparse. ====================================================== WARNING: possible circular locking dependency detected 6.9.0-rc3-syzkaller-gb5d2afe8745b #0 Not tainted ------------------------------------------------------ syz-executor.2/9655 is trying to acquire lock: ffff0000dd781e80 (&ni->ni_lock){+.+.}-{3:3}, at: ntfs_set_state+0x1a4/0x5c0 fs/ntfs3/fsntfs.c:947 but task is already holding lock: ffff0000f0c9c128 (&wnd->rw_lock/1){+.+.}-{3:3}, at: ntfs_mark_rec_free+0x48/0x270 fs/ntfs3/fsntfs.c:742 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&wnd->rw_lock/1){+.+.}-{3:3}: down_write_nested+0x58/0xcc kernel/locking/rwsem.c:1695 ntfs_mark_rec_free+0x48/0x270 fs/ntfs3/fsntfs.c:742 ni_write_inode+0xa28/0xda4 fs/ntfs3/frecord.c:3365 ntfs3_write_inode+0x70/0x98 fs/ntfs3/inode.c:1040 write_inode fs/fs-writeback.c:1498 [inline] __writeback_single_inode+0x5f0/0x1548 fs/fs-writeback.c:1715 writeback_sb_inodes+0x700/0x101c fs/fs-writeback.c:1941 wb_writeback+0x404/0x1048 fs/fs-writeback.c:2117 wb_do_writeback fs/fs-writeback.c:2264 [inline] wb_workfn+0x394/0x104c fs/fs-writeback.c:2304 process_one_work+0x7b8/0x15d4 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x938/0xef4 kernel/workqueue.c:3416 kthread+0x288/0x310 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860 -> #0 (&ni->ni_lock){+.+.}-{3:3}: check_prev_add kernel/locking/lockdep.c:3134 [inline] check_prevs_add kernel/locking/lockdep.c:3253 [inline] validate_chain kernel/locking/lockdep.c:3869 [inline] __lock_acquire+0x3384/0x763c kernel/locking/lockdep.c:5137 lock_acquire+0x248/0x73c kernel/locking/lockdep.c:5754 __mutex_lock_common+0x190/0x21a0 kernel/locking/mutex.c:608 __mutex_lock kernel/locking/mutex.c:752 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804 ntfs_set_state+0x1a4/0x5c0 fs/ntfs3/fsntfs.c:947 ntfs_mark_rec_free+0x164/0x270 fs/ntfs3/fsntfs.c:748 ni_delete_all+0x79c/0x868 fs/ntfs3/frecord.c:1637 ni_clear+0x25c/0x4fc fs/ntfs3/frecord.c:106 ntfs_evict_inode+0x38/0x48 fs/ntfs3/inode.c:1819 evict+0x260/0x68c fs/inode.c:667 iput_final fs/inode.c:1741 [inline] iput+0x760/0x844 fs/inode.c:1767 do_unlinkat+0x528/0x700 fs/namei.c:4406 __do_sys_unlinkat fs/namei.c:4442 [inline] __se_sys_unlinkat fs/namei.c:4435 [inline] __arm64_sys_unlinkat+0xcc/0xfc fs/namei.c:4435 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152 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 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&wnd->rw_lock/1); lock(&ni->ni_lock); lock(&wnd->rw_lock/1); lock(&ni->ni_lock); *** DEADLOCK *** 2 locks held by syz-executor.2/9655: #0: ffff0000f0c9a420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x44/0x9c fs/namespace.c:409 #1: ffff0000f0c9c128 (&wnd->rw_lock/1){+.+.}-{3:3}, at: ntfs_mark_rec_free+0x48/0x270 fs/ntfs3/fsntfs.c:742 stack backtrace: CPU: 0 PID: 9655 Comm: syz-executor.2 Not tainted 6.9.0-rc3-syzkaller-gb5d2afe8745b #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Call trace: dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:317 show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:324 __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xe4/0x150 lib/dump_stack.c:114 dump_stack+0x1c/0x28 lib/dump_stack.c:123 print_circular_bug+0x150/0x1b8 kernel/locking/lockdep.c:2060 check_noncircular+0x310/0x404 kernel/locking/lockdep.c:2187 check_prev_add kernel/locking/lockdep.c:3134 [inline] check_prevs_add kernel/locking/lockdep.c:3253 [inline] validate_chain kernel/locking/lockdep.c:3869 [inline] __lock_acquire+0x3384/0x763c kernel/locking/lockdep.c:5137 lock_acquire+0x248/0x73c kernel/locking/lockdep.c:5754 __mutex_lock_common+0x190/0x21a0 kernel/locking/mutex.c:608 __mutex_lock kernel/locking/mutex.c:752 [inline] mutex_lock_nested+0x2c/0x38 kernel/locking/mutex.c:804 ntfs_set_state+0x1a4/0x5c0 fs/ntfs3/fsntfs.c:947 ntfs_mark_rec_free+0x164/0x270 fs/ntfs3/fsntfs.c:748 ni_delete_all+0x79c/0x868 fs/ntfs3/frecord.c:1637 ni_clear+0x25c/0x4fc fs/ntfs3/frecord.c:106 ntfs_evict_inode+0x38/0x48 fs/ntfs3/inode.c:1819 evict+0x260/0x68c fs/inode.c:667 iput_final fs/inode.c:1741 [inline] iput+0x760/0x844 fs/inode.c:1767 do_unlinkat+0x528/0x700 fs/namei.c:4406 __do_sys_unlinkat fs/namei.c:4442 [inline] __se_sys_unlinkat fs/namei.c:4435 [inline] __arm64_sys_unlinkat+0xcc/0xfc fs/namei.c:4435 __invoke_syscall arch/arm64/kernel/syscall.c:34 [inline] invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:48 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:133 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:152 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 ntfs3: loop2: Mark volume as dirty due to NTFS errors