====================================================== WARNING: possible circular locking dependency detected 6.2.0-rc7-syzkaller-17891-geaed33698e35 #0 Not tainted ------------------------------------------------------ syz-executor.3/4652 is trying to acquire lock: ffff0000c81703f8 (&journal->j_checkpoint_mutex){+.+.}-{3:3}, at: __jbd2_log_wait_for_space+0xb8/0x310 but task is already holding lock: ffff0000d07c8d90 (&sb->s_type->i_mutex_key#8){++++}-{3:3}, at: ext4_buffered_write_iter+0x50/0x294 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&sb->s_type->i_mutex_key#8){++++}-{3:3}: down_read+0x5c/0x78 ext4_bmap+0x34/0x1bc bmap+0x40/0x6c jbd2_journal_flush+0x2a4/0x554 ext4_ioctl+0x2568/0x37bc __arm64_sys_ioctl+0xd0/0x148 invoke_syscall+0x64/0x178 el0_svc_common+0xbc/0x180 do_el0_svc+0x48/0x110 el0_svc+0x58/0x14c el0t_64_sync_handler+0x84/0xf0 el0t_64_sync+0x190/0x194 -> #0 (&journal->j_checkpoint_mutex){+.+.}-{3:3}: __lock_acquire+0x1670/0x2f48 lock_acquire+0x164/0x334 __mutex_lock_common+0xd4/0xf64 mutex_lock_io_nested+0x6c/0x88 __jbd2_log_wait_for_space+0xb8/0x310 add_transaction_credits+0x4a4/0x5f4 start_this_handle+0x2b0/0x810 jbd2__journal_start+0x148/0x1f0 __ext4_journal_start_sb+0x2f8/0x664 ext4_dirty_inode+0x44/0x9c __mark_inode_dirty+0x2cc/0xcd0 generic_write_end+0x170/0x400 ext4_da_write_end+0x444/0x5b8 generic_perform_write+0x164/0x2b4 ext4_buffered_write_iter+0x15c/0x294 ext4_file_write_iter+0x98/0xc3c __kernel_write_iter+0xd8/0x27c dump_user_range+0x17c/0x3d4 elf_core_dump+0x157c/0x1690 do_coredump+0xaa4/0x11f8 get_signal+0x9a4/0xd60 do_notify_resume+0x180/0x2628 el0_da+0xb8/0x168 el0t_64_sync_handler+0xcc/0xf0 el0t_64_sync+0x190/0x194 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&sb->s_type->i_mutex_key#8); lock(&journal->j_checkpoint_mutex); lock(&sb->s_type->i_mutex_key#8); lock(&journal->j_checkpoint_mutex); *** DEADLOCK *** 2 locks held by syz-executor.3/4652: #0: ffff0000c413e460 (sb_writers#3){.+.+}-{0:0}, at: do_coredump+0xa98/0x11f8 #1: ffff0000d07c8d90 (&sb->s_type->i_mutex_key#8){++++}-{3:3}, at: ext4_buffered_write_iter+0x50/0x294 stack backtrace: CPU: 1 PID: 4652 Comm: syz-executor.3 Not tainted 6.2.0-rc7-syzkaller-17891-geaed33698e35 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 Call trace: dump_backtrace+0x1c8/0x1f4 show_stack+0x2c/0x3c dump_stack_lvl+0xd0/0x124 dump_stack+0x1c/0x28 print_circular_bug+0x2c4/0x2c8 check_noncircular+0x148/0x150 __lock_acquire+0x1670/0x2f48 lock_acquire+0x164/0x334 __mutex_lock_common+0xd4/0xf64 mutex_lock_io_nested+0x6c/0x88 __jbd2_log_wait_for_space+0xb8/0x310 add_transaction_credits+0x4a4/0x5f4 start_this_handle+0x2b0/0x810 jbd2__journal_start+0x148/0x1f0 __ext4_journal_start_sb+0x2f8/0x664 ext4_dirty_inode+0x44/0x9c __mark_inode_dirty+0x2cc/0xcd0 generic_write_end+0x170/0x400 ext4_da_write_end+0x444/0x5b8 generic_perform_write+0x164/0x2b4 ext4_buffered_write_iter+0x15c/0x294 ext4_file_write_iter+0x98/0xc3c __kernel_write_iter+0xd8/0x27c dump_user_range+0x17c/0x3d4 elf_core_dump+0x157c/0x1690 do_coredump+0xaa4/0x11f8 get_signal+0x9a4/0xd60 do_notify_resume+0x180/0x2628 el0_da+0xb8/0x168 el0t_64_sync_handler+0xcc/0xf0 el0t_64_sync+0x190/0x194