program: bpf$MAP_CREATE(0x0, &(0x7f0000000b80)=@base={0x11, 0x4, 0x10, 0x401, 0x0, 0xffffffffffffffff, 0xa, '\x00', 0x0, 0xffffffffffffffff, 0x4004, 0x3, 0x0, 0x0, @void, @value, @void, @value}, 0x48) r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000400)={0x1, &(0x7f0000000380)=[{0x6, 0x0, 0x0, 0x7fffffff}]}) syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r1 = creat(&(0x7f0000000240)='./file1\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r2, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r1, &(0x7f0000000000), 0x70000}]) r3 = openat$dma_heap(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) r4 = openat$urandom(0xffffffffffffff9c, &(0x7f0000000040), 0x2400, 0x0) mknod$loop(&(0x7f0000000140)='./file0\x00', 0xfff, 0x0) r5 = socket$netlink(0x10, 0x3, 0x0) openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x149a82, 0x0) r6 = openat$sysfs(0xffffffffffffff9c, &(0x7f00000002c0)='/sys/power/resume', 0x149a82, 0x0) close_range(r5, 0xffffffffffffffff, 0x0) execve(&(0x7f00000190c0)='./file0\x00', 0x0, 0x0) mknod$loop(&(0x7f0000000000)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', 0x0, 0x1) link(&(0x7f0000001240)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', &(0x7f0000000bc0)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00') r7 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r7, &(0x7f0000000040)={0x2, 0x4e21, @local}, 0x10) connect$inet(r6, &(0x7f0000000180)={0x2, 0x4e21, @empty}, 0x10) r8 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r8, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000340)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWCHAIN={0x40, 0x3, 0xa, 0x101, 0x0, 0x0, {0x2}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syz2\x00'}, @NFTA_CHAIN_HOOK={0x14, 0x4, 0x0, 0x1, [@NFTA_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x467473f0}, @NFTA_HOOK_HOOKNUM={0x8, 0x1, 0x1, 0x0, 0x4}]}]}], {0x14}}, 0x88}}, 0x0) r9 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r9, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000003c0)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a58000000060a0b040000000000000000020000002c0004802800018007000100637400001c0002800800014000000002080002400000000e05000300000000000900010073797a30000000000900020073797a320000000014000000110001"], 0x80}}, 0x0) sendto$inet(r7, &(0x7f00000004c0)="3ce2de4d8d", 0x5, 0x805, 0x0, 0x0) link(&(0x7f0000000340)='./file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\x00', &(0x7f0000000300)='./file1\x00') ioctl$RNDZAPENTCNT(r4, 0x5204, &(0x7f0000000080)=0xe) connect$inet(r7, &(0x7f00000001c0)={0x2, 0x4e21, @loopback}, 0x10) r10 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r10, &(0x7f00000000c0)={0x0, 0xffffffffffffff1b, &(0x7f0000000080)={&(0x7f0000000040)=@can_delroute={0x13, 0x19, 0x1, 0x0, 0x0, {}, [@CGW_MOD_SET={0x15, 0x4, {{{}, 0x0, 0x0, 0x0, 0x0, "72b6e52ad9dcf3d9"}}}]}, 0x2c}}, 0x0) ioctl$DMA_HEAP_IOCTL_ALLOC(r3, 0xc0184800, &(0x7f0000000100)={0x4004, r0, 0x2}) [ 75.782697][ T5295] Bluetooth: hci0: command tx timeout [ 75.833224][ T5310] loop0: detected capacity change from 0 to 1024 [ 75.890411][ T5310] [ 75.891483][ T5310] ============================================ [ 75.894104][ T5310] WARNING: possible recursive locking detected [ 75.896794][ T5310] 6.15.0-rc4-syzkaller-00296-ge8ab83e34bdc #0 Not tainted [ 75.900065][ T5310] -------------------------------------------- [ 75.902696][ T5310] syz.0.0/5310 is trying to acquire lock: [ 75.905289][ T5310] ffff888042d6c108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 75.910244][ T5310] [ 75.910244][ T5310] but task is already holding lock: [ 75.913060][ T5310] ffff888042d6e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 75.917707][ T5310] [ 75.917707][ T5310] other info that might help us debug this: [ 75.921324][ T5310] Possible unsafe locking scenario: [ 75.921324][ T5310] [ 75.924606][ T5310] CPU0 [ 75.926167][ T5310] ---- [ 75.927701][ T5310] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.930016][ T5310] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.932525][ T5310] [ 75.932525][ T5310] *** DEADLOCK *** [ 75.932525][ T5310] [ 75.936020][ T5310] May be due to missing lock nesting notation [ 75.936020][ T5310] [ 75.939597][ T5310] 3 locks held by syz.0.0/5310: [ 75.941744][ T5310] #0: ffff888042d6eb78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xe3/0x540 [ 75.946692][ T5310] #1: ffff888042d6e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 75.951712][ T5310] #2: ffff88803f2e00b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 75.956011][ T5310] [ 75.956011][ T5310] stack backtrace: [ 75.958584][ T5310] CPU: 0 UID: 0 PID: 5310 Comm: syz.0.0 Not tainted 6.15.0-rc4-syzkaller-00296-ge8ab83e34bdc #0 PREEMPT(full) [ 75.958599][ T5310] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 75.958606][ T5310] Call Trace: [ 75.958613][ T5310] [ 75.958620][ T5310] dump_stack_lvl+0x189/0x250 [ 75.958637][ T5310] ? __pfx_dump_stack_lvl+0x10/0x10 [ 75.958647][ T5310] ? __pfx__printk+0x10/0x10 [ 75.958654][ T5310] ? print_lock_name+0xde/0x100 [ 75.958665][ T5310] print_deadlock_bug+0x28b/0x2a0 [ 75.958673][ T5310] validate_chain+0x1a3f/0x2140 [ 75.958679][ T5310] ? unwind_next_frame+0xa5/0x2390 [ 75.958687][ T5310] ? check_path+0x21/0x40 [ 75.958692][ T5310] ? check_noncircular+0xe0/0x160 [ 75.958698][ T5310] ? look_up_lock_class+0x74/0x170 [ 75.958749][ T5310] ? register_lock_class+0x51/0x320 [ 75.958765][ T5310] __lock_acquire+0xaac/0xd20 [ 75.958780][ T5310] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.958794][ T5310] lock_acquire+0x120/0x360 [ 75.958807][ T5310] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.958822][ T5310] __mutex_lock+0x182/0xe80 [ 75.958835][ T5310] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.958849][ T5310] ? check_path+0x21/0x40 [ 75.958857][ T5310] ? check_noncircular+0xe0/0x160 [ 75.958867][ T5310] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.958879][ T5310] ? __pfx___mutex_lock+0x10/0x10 [ 75.958895][ T5310] hfsplus_file_extend+0x1fc/0x1990 [ 75.958909][ T5310] ? __lock_acquire+0xaac/0xd20 [ 75.958921][ T5310] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.958933][ T5310] ? __mutex_trylock_common+0x153/0x260 [ 75.958943][ T5310] ? __pfx___mutex_trylock_common+0x10/0x10 [ 75.958954][ T5310] ? rcu_is_watching+0x15/0xb0 [ 75.958968][ T5310] ? trace_contention_end+0x39/0x120 [ 75.958978][ T5310] ? __mutex_lock+0x330/0xe80 [ 75.958988][ T5310] ? hfsplus_brec_find+0x191/0x500 [ 75.958999][ T5310] hfsplus_bmap_reserve+0x122/0x500 [ 75.959017][ T5310] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.959029][ T5310] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.959044][ T5310] hfsplus_file_extend+0x444/0x1990 [ 75.959057][ T5310] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.959070][ T5310] ? clean_bdev_aliases+0x5c9/0x6b0 [ 75.959086][ T5310] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 75.959099][ T5310] hfsplus_get_block+0x411/0x1530 [ 75.959113][ T5310] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.959125][ T5310] ? do_raw_spin_unlock+0x4d/0x240 [ 75.959134][ T5310] ? _raw_spin_unlock+0x28/0x50 [ 75.959145][ T5310] __block_write_begin_int+0x6b2/0x1900 [ 75.959162][ T5310] ? folio_add_lru+0x1b3/0x3d0 [ 75.959173][ T5310] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.959187][ T5310] ? __pfx___block_write_begin_int+0x10/0x10 [ 75.959199][ T5310] cont_write_begin+0x789/0xb50 [ 75.959215][ T5310] ? __pfx_cont_write_begin+0x10/0x10 [ 75.959227][ T5310] ? __pfx___might_resched+0x10/0x10 [ 75.959236][ T5310] ? folio_unlock+0x101/0x160 [ 75.959249][ T5310] hfsplus_write_begin+0x66/0xb0 [ 75.959259][ T5310] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.959269][ T5310] generic_perform_write+0x2c4/0x910 [ 75.959284][ T5310] ? __pfx_generic_perform_write+0x10/0x10 [ 75.959293][ T5310] ? file_update_time+0x2da/0x490 [ 75.959306][ T5310] ? __generic_file_write_iter+0xf9/0x230 [ 75.959317][ T5310] ? generic_file_write_iter+0xfb/0x540 [ 75.959327][ T5310] generic_file_write_iter+0x10f/0x540 [ 75.959337][ T5310] ? aa_file_perm+0x11f/0xed0 [ 75.959351][ T5310] ? __pfx_generic_file_write_iter+0x10/0x10 [ 75.959364][ T5310] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 75.959374][ T5310] ? __pfx__raw_spin_unlock_irqrestore+0x10/0x10 [ 75.959388][ T5310] ? __lock_acquire+0xaac/0xd20 [ 75.959406][ T5310] ? aio_write+0x4c4/0x790 [ 75.959421][ T5310] aio_write+0x532/0x790 [ 75.959434][ T5310] ? __pfx_aio_write+0x10/0x10 [ 75.959447][ T5310] ? __might_fault+0xb0/0x130 [ 75.959463][ T5310] io_submit_one+0x70a/0x1240 [ 75.959477][ T5310] ? __lock_acquire+0xaac/0xd20 [ 75.959488][ T5310] ? __pfx_io_submit_one+0x10/0x10 [ 75.959507][ T5310] ? __might_fault+0xb0/0x130 [ 75.959523][ T5310] ? __might_fault+0xb0/0x130 [ 75.959538][ T5310] __se_sys_io_submit+0x185/0x2f0 [ 75.959551][ T5310] ? __pfx___se_sys_io_submit+0x10/0x10 [ 75.959564][ T5310] ? __secure_computing+0xe2/0x2a0 [ 75.959581][ T5310] do_syscall_64+0xf6/0x210 [ 75.959592][ T5310] ? clear_bhb_loop+0x45/0xa0 [ 75.959604][ T5310] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.959614][ T5310] RIP: 0033:0x7ff79d38e969 [ 75.959625][ T5310] 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 [ 75.959635][ T5310] RSP: 002b:00007ff79e177038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 75.959647][ T5310] RAX: ffffffffffffffda RBX: 00007ff79d5b5fa0 RCX: 00007ff79d38e969 [ 75.959655][ T5310] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007ff79e12d000 [ 75.959662][ T5310] RBP: 00007ff79d410ab1 R08: 0000000000000000 R09: 0000000000000000 [ 75.959669][ T5310] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 75.959676][ T5310] R13: 0000000000000000 R14: 00007ff79d5b5fa0 R15: 00007ffcc8bc61b8 [ 75.959688][ T5310] [ 76.186625][ T5311] process 'syz.0.0' launched './file0' with NULL argv: empty string added