====================================================== WARNING: possible circular locking dependency detected 6.2.0-rc3-next-20230111 #1 Not tainted ------------------------------------------------------ syz-executor.3/36596 is trying to acquire lock: ffff88800ff263f8 (&journal->j_checkpoint_mutex){+.+.}-{3:3}, at: __jbd2_log_wait_for_space+0x238/0x460 but task is already holding lock: ffff888044f58df0 (&sb->s_type->i_mutex_key#6){++++}-{3:3}, at: ext4_buffered_write_iter+0xb0/0x460 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&sb->s_type->i_mutex_key#6){++++}-{3:3}: down_read+0x9c/0x450 ext4_bmap+0x52/0x470 bmap+0xb0/0x130 jbd2_journal_bmap+0xac/0x190 jbd2_journal_flush+0x860/0xc10 __ext4_ioctl+0x9e3/0x43e0 __x64_sys_ioctl+0x19e/0x210 do_syscall_64+0x3f/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc -> #0 (&journal->j_checkpoint_mutex){+.+.}-{3:3}: __lock_acquire+0x2999/0x5e00 lock_acquire.part.0+0x11e/0x340 mutex_lock_io_nested+0x14c/0x1330 __jbd2_log_wait_for_space+0x238/0x460 add_transaction_credits+0xa42/0xb80 start_this_handle+0x3ac/0x14c0 jbd2__journal_start+0x394/0x6b0 __ext4_journal_start_sb+0x4c2/0x6f0 ext4_dirty_inode+0xa5/0x130 __mark_inode_dirty+0x1aa/0xee0 generic_write_end+0x319/0x3d0 ext4_da_write_end+0x162/0x950 generic_perform_write+0x318/0x580 ext4_buffered_write_iter+0x164/0x460 ext4_file_write_iter+0x3ff/0x1930 vfs_write+0x9c7/0xdd0 ksys_write+0x12b/0x260 do_syscall_64+0x3f/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&sb->s_type->i_mutex_key#6); lock(&journal->j_checkpoint_mutex); lock(&sb->s_type->i_mutex_key#6); lock(&journal->j_checkpoint_mutex); *** DEADLOCK *** 3 locks held by syz-executor.3/36596: #0: ffff88800ed8a0e8 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xeb/0x110 #1: ffff88800ff22438 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x12b/0x260 #2: ffff888044f58df0 (&sb->s_type->i_mutex_key#6){++++}-{3:3}, at: ext4_buffered_write_iter+0xb0/0x460 stack backtrace: CPU: 1 PID: 36596 Comm: syz-executor.3 Not tainted 6.2.0-rc3-next-20230111 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 Call Trace: dump_stack_lvl+0x8f/0xb7 check_noncircular+0x263/0x2e0 __lock_acquire+0x2999/0x5e00 lock_acquire.part.0+0x11e/0x340 mutex_lock_io_nested+0x14c/0x1330 __jbd2_log_wait_for_space+0x238/0x460 add_transaction_credits+0xa42/0xb80 start_this_handle+0x3ac/0x14c0 jbd2__journal_start+0x394/0x6b0 __ext4_journal_start_sb+0x4c2/0x6f0 ext4_dirty_inode+0xa5/0x130 __mark_inode_dirty+0x1aa/0xee0 generic_write_end+0x319/0x3d0 ext4_da_write_end+0x162/0x950 generic_perform_write+0x318/0x580 ext4_buffered_write_iter+0x164/0x460 ext4_file_write_iter+0x3ff/0x1930 vfs_write+0x9c7/0xdd0 ksys_write+0x12b/0x260 do_syscall_64+0x3f/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc RIP: 0033:0x7f45d0fb9b19 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f45ce52f188 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f45d10ccf60 RCX: 00007f45d0fb9b19 RDX: 00000000000292e9 RSI: 0000000020000080 RDI: 0000000000000006 RBP: 00007f45d1013f6d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffece95cd5f R14: 00007f45ce52f300 R15: 0000000000022000 device lo left promiscuous mode device lo entered promiscuous mode device lo left promiscuous mode device lo entered promiscuous mode device lo entered promiscuous mode device lo left promiscuous mode device lo entered promiscuous mode device lo left promiscuous mode device lo entered promiscuous mode device lo left promiscuous mode device lo entered promiscuous mode device lo left promiscuous mode device lo entered promiscuous mode