ntfs3: loop1: ino=5, "/" directory corrupted ============================================ WARNING: possible recursive locking detected 6.1.114-syzkaller #0 Not tainted -------------------------------------------- kworker/u4:12/3904 is trying to acquire lock: ffff8880702d0100 (&ni->ni_lock){+.+.}-{3:3}, at: ntfs_set_state+0x1fa/0x660 fs/ntfs3/fsntfs.c:920 but task is already holding lock: ffff8880702d6fa0 (&ni->ni_lock){+.+.}-{3:3}, at: ni_trylock fs/ntfs3/ntfs_fs.h:1116 [inline] ffff8880702d6fa0 (&ni->ni_lock){+.+.}-{3:3}, at: ni_write_inode+0x16b/0x1070 fs/ntfs3/frecord.c:3318 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&ni->ni_lock); lock(&ni->ni_lock); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by kworker/u4:12/3904: #0: ffff88814465d938 ((wq_completion)writeback){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267 #1: ffffc900031dfd20 ((work_completion)(&(&wb->dwork)->work)){+.+.}-{0:0}, at: process_one_work+0x7a9/0x11d0 kernel/workqueue.c:2267 #2: ffff8880702d6fa0 (&ni->ni_lock){+.+.}-{3:3}, at: ni_trylock fs/ntfs3/ntfs_fs.h:1116 [inline] #2: ffff8880702d6fa0 (&ni->ni_lock){+.+.}-{3:3}, at: ni_write_inode+0x16b/0x1070 fs/ntfs3/frecord.c:3318 #3: ffff8880702d6840 (&ni->ni_lock){+.+.}-{3:3}, at: ni_trylock fs/ntfs3/ntfs_fs.h:1116 [inline] #3: ffff8880702d6840 (&ni->ni_lock){+.+.}-{3:3}, at: ni_update_parent+0x9ce/0xdc0 fs/ntfs3/frecord.c:3286 stack backtrace: CPU: 0 PID: 3904 Comm: kworker/u4:12 Not tainted 6.1.114-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: writeback wb_workfn (flush-7:1) Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106 print_deadlock_bug kernel/locking/lockdep.c:2983 [inline] check_deadlock kernel/locking/lockdep.c:3026 [inline] validate_chain+0x4711/0x5950 kernel/locking/lockdep.c:3812 __lock_acquire+0x125b/0x1f80 kernel/locking/lockdep.c:5049 lock_acquire+0x1f8/0x5a0 kernel/locking/lockdep.c:5662 __mutex_lock_common kernel/locking/mutex.c:603 [inline] __mutex_lock+0x132/0xd80 kernel/locking/mutex.c:747 ntfs_set_state+0x1fa/0x660 fs/ntfs3/fsntfs.c:920 indx_read+0x5a3/0xc40 indx_find+0x467/0xb60 fs/ntfs3/index.c:1181 indx_update_dup+0x476/0x850 fs/ntfs3/index.c:2644 ni_update_parent+0xa14/0xdc0 fs/ntfs3/frecord.c:3289 ni_write_inode+0xe34/0x1070 fs/ntfs3/frecord.c:3372 write_inode fs/fs-writeback.c:1460 [inline] __writeback_single_inode+0x67d/0x11e0 fs/fs-writeback.c:1677 writeback_sb_inodes+0xc2b/0x1b20 fs/fs-writeback.c:1903 wb_writeback+0x49d/0xe10 fs/fs-writeback.c:2077 wb_do_writeback fs/fs-writeback.c:2220 [inline] wb_workfn+0x427/0x1020 fs/fs-writeback.c:2260 process_one_work+0x8a9/0x11d0 kernel/workqueue.c:2292 worker_thread+0xa47/0x1200 kernel/workqueue.c:2439 kthread+0x28d/0x320 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295 ntfs3: loop1: Mark volume as dirty due to NTFS errors IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready