program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") creat(&(0x7f0000000000)='./file1\x00', 0x0) (async) 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}]) (async) io_submit(r1, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) socket$nl_netfilter(0x10, 0x3, 0xc) (async) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) (async) r3 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r4 = ioctl$KVM_CREATE_VM(r3, 0xae01, 0x0) r5 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000140)=ANY=[@ANYBLOB="1201000000000040ac054382408b0b00000109022400010000002009040000fd0301000009210000000122010009058103"], 0x0) syz_usb_control_io$hid(r5, 0x0, 0x0) syz_usb_control_io$hid(r5, &(0x7f00000003c0)={0x24, 0x0, 0x0, &(0x7f0000000a80)=ANY=[@ANYBLOB="002281"], 0x0}, 0x0) syz_open_dev$hiddev(&(0x7f00000000c0), 0x0, 0x0) r6 = openat$uhid(0xffffffffffffff9c, &(0x7f00000004c0), 0x2, 0x0) close_range(r6, 0xffffffffffffffff, 0x2) (async) close_range(r6, 0xffffffffffffffff, 0x2) syz_open_dev$hidraw(&(0x7f0000000080), 0x1, 0x202) write$UHID_DESTROY(r6, &(0x7f0000000040), 0x4) syz_usb_control_io(r5, 0x0, 0x0) syz_usb_control_io(r5, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r4, 0x400caed0) openat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\x00', 0x42, 0x0) (async) r7 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\x00', 0x42, 0x0) fallocate(r7, 0x0, 0x0, 0x8ffff) bind$inet(r7, &(0x7f0000000100)={0x2, 0x4e20, @broadcast}, 0x10) sendmsg$NFT_BATCH(r2, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000440)=ANY=[@ANYBLOB="140000001000010000000000000000001c6a000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) (async) sendmsg$NFT_BATCH(r2, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000440)=ANY=[@ANYBLOB="140000001000010000000000000000001c6a000a28000000000a0101000000005e1affd5020000000900010073797a300000000008000240000000032c000000030a01030000e6ff00000000020000000900010073797a30000000000900030073797a320000000014000000110001"], 0x7c}}, 0x0) sendmsg$NFT_MSG_GETFLOWTABLE(r2, &(0x7f0000000f00)={0x0, 0x0, &(0x7f0000000ec0)={&(0x7f0000000dc0)={0x14, 0x17, 0xa, 0x301}, 0x14}}, 0x0) [ 75.860259][ T5302] Bluetooth: hci0: command tx timeout [ 75.927291][ T5322] loop0: detected capacity change from 0 to 1024 [ 76.056392][ T5322] [ 76.057613][ T5322] ============================================ [ 76.060381][ T5322] WARNING: possible recursive locking detected [ 76.063047][ T5322] syzkaller #0 Not tainted [ 76.065022][ T5322] -------------------------------------------- [ 76.067718][ T5322] syz.0.0/5322 is trying to acquire lock: [ 76.070220][ T5322] ffff888051fc8108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1ba0 [ 76.076091][ T5322] [ 76.076091][ T5322] but task is already holding lock: [ 76.079898][ T5322] ffff888051fca988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1ba0 [ 76.084851][ T5322] [ 76.084851][ T5322] other info that might help us debug this: [ 76.088408][ T5322] Possible unsafe locking scenario: [ 76.088408][ T5322] [ 76.091692][ T5322] CPU0 [ 76.093217][ T5322] ---- [ 76.094669][ T5322] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.097247][ T5322] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.099806][ T5322] [ 76.099806][ T5322] *** DEADLOCK *** [ 76.099806][ T5322] [ 76.103317][ T5322] May be due to missing lock nesting notation [ 76.103317][ T5322] [ 76.106985][ T5322] 3 locks held by syz.0.0/5322: [ 76.109207][ T5322] #0: ffff888051fcab78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xeb/0x550 [ 76.114241][ T5322] #1: ffff888051fca988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1ba0 [ 76.119376][ T5322] #2: ffff8880368600b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x290 [ 76.123883][ T5322] [ 76.123883][ T5322] stack backtrace: [ 76.126563][ T5322] CPU: 0 UID: 0 PID: 5322 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 76.126581][ T5322] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 76.126589][ T5322] Call Trace: [ 76.126596][ T5322] [ 76.126603][ T5322] dump_stack_lvl+0x189/0x250 [ 76.126626][ T5322] ? __pfx_dump_stack_lvl+0x10/0x10 [ 76.126641][ T5322] ? __pfx__printk+0x10/0x10 [ 76.126653][ T5322] ? print_lock_name+0xde/0x100 [ 76.126665][ T5322] print_deadlock_bug+0x28b/0x2a0 [ 76.126682][ T5322] validate_chain+0x1a3f/0x2140 [ 76.126722][ T5322] ? __bfs+0x154/0x2a0 [ 76.126735][ T5322] ? check_path+0x21/0x40 [ 76.126748][ T5322] ? look_up_lock_class+0x74/0x170 [ 76.126816][ T5322] ? register_lock_class+0x51/0x320 [ 76.126828][ T5322] __lock_acquire+0xab9/0xd20 [ 76.126842][ T5322] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 76.126861][ T5322] lock_acquire+0x120/0x360 [ 76.126872][ T5322] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 76.126891][ T5322] __mutex_lock+0x187/0x1350 [ 76.126906][ T5322] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 76.126923][ T5322] ? check_path+0x21/0x40 [ 76.126935][ T5322] ? check_noncircular+0xe0/0x160 [ 76.126950][ T5322] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 76.126965][ T5322] ? lockdep_unlock+0x89/0x120 [ 76.126977][ T5322] ? __pfx___mutex_lock+0x10/0x10 [ 76.126994][ T5322] hfsplus_file_extend+0x1f8/0x1ba0 [ 76.127010][ T5322] ? __lock_acquire+0xab9/0xd20 [ 76.127024][ T5322] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 76.127040][ T5322] ? __pfx___mutex_trylock_common+0x10/0x10 [ 76.127055][ T5322] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.127067][ T5322] ? rcu_is_watching+0x15/0xb0 [ 76.127081][ T5322] ? trace_contention_end+0x39/0x120 [ 76.127096][ T5322] ? __asan_memset+0x22/0x50 [ 76.127112][ T5322] ? hfsplus_brec_find+0x1a9/0x510 [ 76.127127][ T5322] hfsplus_bmap_reserve+0x122/0x500 [ 76.127142][ T5322] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 76.127155][ T5322] __hfsplus_ext_cache_extent+0x89/0xe30 [ 76.127167][ T5322] hfsplus_file_extend+0x437/0x1ba0 [ 76.127186][ T5322] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 76.127204][ T5322] ? clean_bdev_aliases+0x5c9/0x6b0 [ 76.127220][ T5322] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 76.127236][ T5322] hfsplus_get_block+0x40a/0x15d0 [ 76.127255][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 76.127271][ T5322] ? do_raw_spin_unlock+0x4d/0x240 [ 76.127294][ T5322] ? _raw_spin_unlock+0x28/0x50 [ 76.127307][ T5322] __block_write_begin_int+0x6b5/0x1900 [ 76.127322][ T5322] ? __pfx_workingset_update_node+0x10/0x10 [ 76.127339][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 76.127356][ T5322] ? __pfx___block_write_begin_int+0x10/0x10 [ 76.127373][ T5322] cont_write_begin+0x789/0xb50 [ 76.127391][ T5322] ? __pfx_cont_write_begin+0x10/0x10 [ 76.127405][ T5322] ? __pfx___might_resched+0x10/0x10 [ 76.127419][ T5322] ? folio_unlock+0x101/0x160 [ 76.127439][ T5322] hfsplus_write_begin+0x66/0xb0 [ 76.127454][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 76.127471][ T5322] generic_perform_write+0x2c5/0x900 [ 76.127486][ T5322] ? __pfx_generic_perform_write+0x10/0x10 [ 76.127499][ T5322] ? file_update_time_flags+0x2cb/0x4e0 [ 76.127514][ T5322] ? __generic_file_write_iter+0xf9/0x230 [ 76.127526][ T5322] ? generic_file_write_iter+0x103/0x550 [ 76.127538][ T5322] generic_file_write_iter+0x117/0x550 [ 76.127551][ T5322] ? __pfx_generic_file_write_iter+0x10/0x10 [ 76.127563][ T5322] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 76.127575][ T5322] ? __pfx__raw_spin_unlock_irqrestore+0x10/0x10 [ 76.127586][ T5322] ? __pfx_aa_file_perm+0x10/0x10 [ 76.127603][ T5322] ? __lock_acquire+0xab9/0xd20 [ 76.127617][ T5322] ? aio_write+0x4c4/0x7a0 [ 76.127631][ T5322] aio_write+0x535/0x7a0 [ 76.127646][ T5322] ? __pfx_aio_write+0x10/0x10 [ 76.127661][ T5322] ? __might_fault+0xb0/0x130 [ 76.127679][ T5322] io_submit_one+0x78b/0x1310 [ 76.127695][ T5322] ? __pfx_io_submit_one+0x10/0x10 [ 76.127709][ T5322] ? __might_fault+0xb0/0x130 [ 76.127725][ T5322] ? __might_fault+0xb0/0x130 [ 76.127741][ T5322] __se_sys_io_submit+0x185/0x2f0 [ 76.127753][ T5322] ? __pfx___se_sys_io_submit+0x10/0x10 [ 76.127768][ T5322] ? do_syscall_64+0xbe/0xfa0 [ 76.127782][ T5322] do_syscall_64+0xfa/0xfa0 [ 76.127794][ T5322] ? lockdep_hardirqs_on+0x9c/0x150 [ 76.127806][ T5322] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.127816][ T5322] ? clear_bhb_loop+0x60/0xb0 [ 76.127829][ T5322] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.127840][ T5322] RIP: 0033:0x7f441658f7c9 [ 76.127854][ T5322] 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 [ 76.127864][ T5322] RSP: 002b:00007f44129f5038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 76.127878][ T5322] RAX: ffffffffffffffda RBX: 00007f44167e5fa0 RCX: 00007f441658f7c9 [ 76.127886][ T5322] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f441732b000 [ 76.127893][ T5322] RBP: 00007f4416613f91 R08: 0000000000000000 R09: 0000000000000000 [ 76.127899][ T5322] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 76.127906][ T5322] R13: 00007f44167e6038 R14: 00007f44167e5fa0 R15: 00007ffd0d7a83d8 [ 76.127916][ T5322]