overlayfs: upper fs does not support RENAME_WHITEOUT. ====================================================== WARNING: possible circular locking dependency detected 6.2.0-rc7-syzkaller-00018-g0983f6bf2bfc #0 Not tainted ------------------------------------------------------ syz-executor.1/7520 is trying to acquire lock: ffff888028ff96c0 (&type->i_mutex_dir_key#13/2){+.+.}-{3:3}, at: delete_one_xattr+0x106/0x2f0 but task is already holding lock: ffff888042f58980 (&type->i_mutex_dir_key#13/3){+.+.}-{3:3}, at: reiserfs_for_each_xattr+0x9a2/0xb50 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&type->i_mutex_dir_key#13/3){+.+.}-{3:3}: lock_acquire+0x20b/0x600 down_write_nested+0x3d/0x60 open_xa_dir+0x122/0x650 reiserfs_for_each_xattr+0x1a8/0xb50 reiserfs_delete_xattrs+0x1f/0x90 reiserfs_evict_inode+0x207/0x470 evict+0x2a4/0x620 __dentry_kill+0x436/0x650 dentry_kill+0xbb/0x290 dput+0x1d8/0x3f0 do_renameat2+0xa81/0x1250 __x64_sys_renameat2+0xd2/0xe0 do_syscall_64+0x41/0xc0 entry_SYSCALL_64_after_hwframe+0x63/0xcd -> #0 (&type->i_mutex_dir_key#13/2){+.+.}-{3:3}: validate_chain+0x166b/0x5860 __lock_acquire+0x125b/0x1f80 lock_acquire+0x20b/0x600 down_write_nested+0x3d/0x60 delete_one_xattr+0x106/0x2f0 reiserfs_for_each_xattr+0x9b0/0xb50 reiserfs_delete_xattrs+0x1f/0x90 reiserfs_evict_inode+0x207/0x470 evict+0x2a4/0x620 __dentry_kill+0x436/0x650 dentry_kill+0xbb/0x290 dput+0x1d8/0x3f0 ovl_create_or_link+0x10aa/0x1480 ovl_create_object+0x246/0x370 vfs_mkdir+0x3ba/0x590 do_mkdirat+0x237/0x4f0 __x64_sys_mkdir+0x6e/0x80 do_syscall_64+0x41/0xc0 entry_SYSCALL_64_after_hwframe+0x63/0xcd other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&type->i_mutex_dir_key#13/3); lock(&type->i_mutex_dir_key#13/2); lock(&type->i_mutex_dir_key#13/3); lock(&type->i_mutex_dir_key#13/2); *** DEADLOCK *** 7 locks held by syz-executor.1/7520: #0: ffff88805f1c6460 (sb_writers#23){.+.+}-{0:0}, at: mnt_want_write+0x3f/0x90 #1: ffff88802d5341b8 (&ovl_i_mutex_dir_key[depth]/1){+.+.}-{3:3}, at: filename_create+0x249/0x500 #2: ffff888045a82460 (sb_writers#19){.+.+}-{0:0}, at: mnt_want_write+0x3f/0x90 #3: ffff888045a82748 (&type->s_vfs_rename_key#11){+.+.}-{3:3}, at: lock_rename+0x58/0x1a0 #4: ffff888042f5c520 (&type->i_mutex_dir_key#13/1){+.+.}-{3:3}, at: lock_rename+0x13e/0x1a0 #5: ffff888042f5b140 (&type->i_mutex_dir_key#13/5){+.+.}-{3:3}, at: lock_rename+0x186/0x1a0 #6: ffff888042f58980 (&type->i_mutex_dir_key#13/3){+.+.}-{3:3}, at: reiserfs_for_each_xattr+0x9a2/0xb50 stack backtrace: CPU: 0 PID: 7520 Comm: syz-executor.1 Not tainted 6.2.0-rc7-syzkaller-00018-g0983f6bf2bfc #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/12/2023 Call Trace: dump_stack_lvl+0x1b5/0x2a0 check_noncircular+0x2d1/0x390 validate_chain+0x166b/0x5860 __lock_acquire+0x125b/0x1f80 lock_acquire+0x20b/0x600 down_write_nested+0x3d/0x60 delete_one_xattr+0x106/0x2f0 reiserfs_for_each_xattr+0x9b0/0xb50 reiserfs_delete_xattrs+0x1f/0x90 reiserfs_evict_inode+0x207/0x470 evict+0x2a4/0x620 __dentry_kill+0x436/0x650 dentry_kill+0xbb/0x290 dput+0x1d8/0x3f0 ovl_create_or_link+0x10aa/0x1480 ovl_create_object+0x246/0x370 vfs_mkdir+0x3ba/0x590 do_mkdirat+0x237/0x4f0 __x64_sys_mkdir+0x6e/0x80 do_syscall_64+0x41/0xc0 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f3ef688c0f9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f3ef7694168 EFLAGS: 00000246 ORIG_RAX: 0000000000000053 RAX: ffffffffffffffda RBX: 00007f3ef69abf80 RCX: 00007f3ef688c0f9 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000200001c0 RBP: 00007f3ef68e7ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc51fecebf R14: 00007f3ef7694300 R15: 0000000000022000