program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x6a3, &(0x7f0000000580)="$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") r0 = creat(&(0x7f0000000000)='./file1\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r1, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) [ 74.631429][ T4703] Bluetooth: hci0: command tx timeout [ 74.704942][ T5355] loop0: detected capacity change from 0 to 1024 [ 74.796355][ T5355] [ 74.797730][ T5355] ============================================ [ 74.800503][ T5355] WARNING: possible recursive locking detected [ 74.803348][ T5355] syzkaller #0 Not tainted [ 74.805640][ T5355] -------------------------------------------- [ 74.808667][ T5355] syz.0.0/5355 is trying to acquire lock: [ 74.811280][ T5355] ffff888052f6c108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 74.816518][ T5355] [ 74.816518][ T5355] but task is already holding lock: [ 74.820082][ T5355] ffff888052f6e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 74.825294][ T5355] [ 74.825294][ T5355] other info that might help us debug this: [ 74.828624][ T5355] Possible unsafe locking scenario: [ 74.828624][ T5355] [ 74.831983][ T5355] CPU0 [ 74.833874][ T5355] ---- [ 74.835590][ T5355] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.838199][ T5355] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.840675][ T5355] [ 74.840675][ T5355] *** DEADLOCK *** [ 74.840675][ T5355] [ 74.844212][ T5355] May be due to missing lock nesting notation [ 74.844212][ T5355] [ 74.848525][ T5355] 3 locks held by syz.0.0/5355: [ 74.850729][ T5355] #0: ffff888052f6eb78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xeb/0x550 [ 74.855884][ T5355] #1: ffff888052f6e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 74.861572][ T5355] #2: ffff8880124780b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 74.865997][ T5355] [ 74.865997][ T5355] stack backtrace: [ 74.868635][ T5355] CPU: 0 UID: 0 PID: 5355 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 74.868658][ T5355] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 74.868668][ T5355] Call Trace: [ 74.868677][ T5355] [ 74.868686][ T5355] dump_stack_lvl+0x189/0x250 [ 74.868733][ T5355] ? __pfx_dump_stack_lvl+0x10/0x10 [ 74.868761][ T5355] ? __pfx__printk+0x10/0x10 [ 74.868843][ T5355] ? print_lock_name+0xde/0x100 [ 74.868863][ T5355] print_deadlock_bug+0x28b/0x2a0 [ 74.868881][ T5355] validate_chain+0x1a3f/0x2140 [ 74.868896][ T5355] ? __bfs+0x154/0x2a0 [ 74.868909][ T5355] ? check_path+0x21/0x40 [ 74.868922][ T5355] ? look_up_lock_class+0x74/0x170 [ 74.869025][ T5355] ? register_lock_class+0x51/0x320 [ 74.869106][ T5355] __lock_acquire+0xab9/0xd20 [ 74.869132][ T5355] ? hfsplus_file_extend+0x1fc/0x1990 [ 74.869150][ T5355] lock_acquire+0x120/0x360 [ 74.869170][ T5355] ? hfsplus_file_extend+0x1fc/0x1990 [ 74.869189][ T5355] __mutex_lock+0x187/0x1350 [ 74.869205][ T5355] ? hfsplus_file_extend+0x1fc/0x1990 [ 74.869220][ T5355] ? check_path+0x21/0x40 [ 74.869236][ T5355] ? check_noncircular+0xe0/0x160 [ 74.869253][ T5355] ? hfsplus_file_extend+0x1fc/0x1990 [ 74.869268][ T5355] ? lockdep_unlock+0x89/0x120 [ 74.869287][ T5355] ? __pfx___mutex_lock+0x10/0x10 [ 74.869313][ T5355] hfsplus_file_extend+0x1fc/0x1990 [ 74.869330][ T5355] ? __lock_acquire+0xab9/0xd20 [ 74.869353][ T5355] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.869369][ T5355] ? __pfx___mutex_trylock_common+0x10/0x10 [ 74.869380][ T5355] ? __se_sys_io_submit+0x185/0x2f0 [ 74.869397][ T5355] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.869412][ T5355] ? rcu_is_watching+0x15/0xb0 [ 74.869425][ T5355] ? trace_contention_end+0x39/0x120 [ 74.869438][ T5355] ? __mutex_lock+0x335/0x1350 [ 74.869451][ T5355] ? hfsplus_brec_find+0x191/0x500 [ 74.869471][ T5355] hfsplus_bmap_reserve+0x122/0x500 [ 74.869488][ T5355] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 74.869505][ T5355] __hfsplus_ext_cache_extent+0x89/0xe30 [ 74.869522][ T5355] hfsplus_file_extend+0x444/0x1990 [ 74.869541][ T5355] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.869560][ T5355] ? clean_bdev_aliases+0x5c9/0x6b0 [ 74.869574][ T5355] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 74.869588][ T5355] hfsplus_get_block+0x411/0x1530 [ 74.869607][ T5355] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.869620][ T5355] ? do_raw_spin_unlock+0x4d/0x240 [ 74.869638][ T5355] ? _raw_spin_unlock+0x28/0x50 [ 74.869659][ T5355] __block_write_begin_int+0x6b2/0x1900 [ 74.869675][ T5355] ? folio_add_lru+0x1b2/0x3d0 [ 74.869695][ T5355] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.869708][ T5355] ? __pfx___block_write_begin_int+0x10/0x10 [ 74.869722][ T5355] cont_write_begin+0x789/0xb50 [ 74.869737][ T5355] ? __pfx_cont_write_begin+0x10/0x10 [ 74.869750][ T5355] ? __pfx___might_resched+0x10/0x10 [ 74.869762][ T5355] ? __mark_inode_dirty+0x3d2/0xe10 [ 74.869782][ T5355] ? folio_unlock+0x101/0x160 [ 74.869800][ T5355] hfsplus_write_begin+0x66/0xb0 [ 74.869812][ T5355] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.869826][ T5355] generic_perform_write+0x2c2/0x900 [ 74.869842][ T5355] ? __pfx_generic_perform_write+0x10/0x10 [ 74.869855][ T5355] ? file_update_time+0x416/0x490 [ 74.869868][ T5355] ? __generic_file_write_iter+0xf9/0x230 [ 74.869880][ T5355] ? generic_file_write_iter+0x103/0x550 [ 74.869893][ T5355] generic_file_write_iter+0x117/0x550 [ 74.869907][ T5355] ? __pfx_generic_file_write_iter+0x10/0x10 [ 74.869920][ T5355] ? lockdep_hardirqs_on+0x9c/0x150 [ 74.869933][ T5355] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 74.869952][ T5355] ? __pfx_aa_file_perm+0x10/0x10 [ 74.869969][ T5355] ? __lock_acquire+0xab9/0xd20 [ 74.869989][ T5355] ? aio_write+0x4c4/0x7a0 [ 74.870032][ T5355] aio_write+0x535/0x7a0 [ 74.870053][ T5355] ? __pfx_aio_write+0x10/0x10 [ 74.870077][ T5355] ? __might_fault+0xb0/0x130 [ 74.870096][ T5355] io_submit_one+0x78b/0x1310 [ 74.870118][ T5355] ? __pfx_io_submit_one+0x10/0x10 [ 74.870136][ T5355] ? __might_fault+0xb0/0x130 [ 74.870154][ T5355] ? __might_fault+0xb0/0x130 [ 74.870169][ T5355] __se_sys_io_submit+0x185/0x2f0 [ 74.870187][ T5355] ? __pfx___se_sys_io_submit+0x10/0x10 [ 74.870206][ T5355] ? do_syscall_64+0xbe/0x3b0 [ 74.870220][ T5355] do_syscall_64+0xfa/0x3b0 [ 74.870232][ T5355] ? lockdep_hardirqs_on+0x9c/0x150 [ 74.870243][ T5355] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.870256][ T5355] ? clear_bhb_loop+0x60/0xb0 [ 74.870270][ T5355] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.870283][ T5355] RIP: 0033:0x7f7620b8ec29 [ 74.870355][ T5355] 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 a8 ff ff ff f7 d8 64 89 01 48 [ 74.870371][ T5355] RSP: 002b:00007f7621a01038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 74.870390][ T5355] RAX: ffffffffffffffda RBX: 00007f7620dd5fa0 RCX: 00007f7620b8ec29 [ 74.870401][ T5355] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f76219b7000 [ 74.870410][ T5355] RBP: 00007f7620c11e41 R08: 0000000000000000 R09: 0000000000000000 [ 74.870419][ T5355] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 74.870428][ T5355] R13: 00007f7620dd6038 R14: 00007f7620dd5fa0 R15: 00007fff3ea50ab8 [ 74.870445][ T5355]