program: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$vsock_stream(0x28, 0x1, 0x0) setsockopt$SO_VM_SOCKETS_BUFFER_SIZE(r1, 0x28, 0x0, 0x0, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f00000001c0)={'wg0\x00', 0x0}) r3 = bpf$MAP_CREATE_CONST_STR(0x0, &(0x7f0000000340)={0x2, 0x4, 0x8, 0x1, 0x80, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, @void, @value, @void, @value}, 0x48) bpf$BPF_MAP_CONST_STR_FREEZE(0x16, &(0x7f0000000280)={r3}, 0x4) syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r4 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r5, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r4, &(0x7f0000000000), 0x70000}]) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f00000003c0)=@bpf_lsm={0x17, 0x6, &(0x7f00000001c0)=ANY=[@ANYBLOB="1800000000000000000000000000000018200000", @ANYRES32=r3, @ANYBLOB="0000000000000000c30000000001000095"], &(0x7f0000000180)='GPL\x00', 0x8, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x1b, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, @void, @value}, 0x94) sendmsg$nl_route_sched(r0, &(0x7f0000001200)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000006880)=@newqdisc={0x30, 0x24, 0x4ee4e6a52ff56541, 0x70bd28, 0x0, {0x0, 0x0, 0x0, r2, {}, {0xffff, 0xffff}, {0xd, 0x8}}, [@qdisc_kind_options=@q_fq={{0x7}, {0x4}}]}, 0x30}, 0x1, 0x0, 0x0, 0x51}, 0x8000) r6 = socket(0x10, 0x3, 0x0) r7 = creat(&(0x7f0000000080)='./file1\x00', 0x0) fsync(r7) ioctl$IMADDTIMER(r7, 0x80044940, &(0x7f0000000040)) r8 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(r8, 0x8933, &(0x7f0000000080)={'ip6tnl0\x00', 0x0}) sendmsg$nl_route_sched(r6, &(0x7f00000009c0)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000940)=@newqdisc={0x58, 0x24, 0x3fe3aa0262d8c583, 0x4, 0x0, {0x0, 0x0, 0x0, r9, {0x0, 0x4}, {0xffff, 0xffff}, {0x0, 0xc}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x28, 0x2, {{0x3, 0x800, 0x1000003, 0x0, 0xfffffffe, 0x7}, [@TCA_NETEM_RATE64={0xc, 0x8, 0x7ce15d3c7e825e57}]}}}]}, 0x58}, 0x1, 0x0, 0x0, 0x14}, 0x0) r10 = socket$packet(0x11, 0x3, 0x300) r11 = dup(r10) r12 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\x00', 0x105042, 0x1ff) fstat(r12, &(0x7f0000000000)={0x0, 0x0, 0x0, 0x0, 0x0}) setreuid(0x0, r13) sendmsg$kcm(r11, &(0x7f0000000340)={&(0x7f0000000140)=@ieee802154={0x24, @long={0x3, 0x1, {0xaaaaaaaaaaaa0102}}}, 0x80, 0x0}, 0x0) r14 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r14, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000000)=@getqdisc={0x24, 0x26, 0x705, 0x70bd27, 0x25dfdbfd, {0x0, 0x0, 0x0, 0x0, {0x1, 0xfff1}, {0x10, 0x8}, {0x4, 0x7}}}, 0x24}, 0x1, 0x0, 0x0, 0x4c88b}, 0x0) [ 68.428804][ T5313] loop0: detected capacity change from 0 to 1024 [ 68.449039][ T5299] Bluetooth: hci0: command tx timeout [ 68.537710][ T5313] [ 68.539052][ T5313] ====================================================== [ 68.542131][ T5313] WARNING: possible circular locking dependency detected [ 68.545111][ T5313] 6.15.0-rc7-syzkaller-00133-g7586ac7c340c #0 Not tainted [ 68.547995][ T5313] ------------------------------------------------------ [ 68.551042][ T5313] syz.0.0/5313 is trying to acquire lock: [ 68.553488][ T5313] ffff88803b7b40b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 68.557746][ T5313] [ 68.557746][ T5313] but task is already holding lock: [ 68.560842][ T5313] ffff88805303b048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 68.565396][ T5313] [ 68.565396][ T5313] which lock already depends on the new lock. [ 68.565396][ T5313] [ 68.569609][ T5313] [ 68.569609][ T5313] the existing dependency chain (in reverse order) is: [ 68.573273][ T5313] [ 68.573273][ T5313] -> #1 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 68.577279][ T5313] lock_acquire+0x120/0x360 [ 68.579842][ T5313] __mutex_lock+0x182/0xe80 [ 68.582025][ T5313] hfsplus_file_extend+0x1fc/0x1990 [ 68.584682][ T5313] hfsplus_bmap_reserve+0x122/0x500 [ 68.587157][ T5313] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 68.589732][ T5313] __hfsplus_ext_cache_extent+0x89/0xe30 [ 68.592432][ T5313] hfsplus_file_extend+0x444/0x1990 [ 68.594939][ T5313] hfsplus_get_block+0x411/0x1530 [ 68.597297][ T5313] __block_write_begin_int+0x6b2/0x1900 [ 68.599810][ T5313] cont_write_begin+0x789/0xb50 [ 68.602261][ T5313] hfsplus_write_begin+0x66/0xb0 [ 68.604625][ T5313] generic_perform_write+0x2c7/0x910 [ 68.607207][ T5313] generic_file_write_iter+0x10f/0x540 [ 68.609760][ T5313] aio_write+0x532/0x790 [ 68.611954][ T5313] io_submit_one+0x70a/0x1240 [ 68.614346][ T5313] __se_sys_io_submit+0x185/0x2f0 [ 68.616850][ T5313] do_syscall_64+0xf6/0x210 [ 68.619104][ T5313] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.621890][ T5313] [ 68.621890][ T5313] -> #0 (&tree->tree_lock/1){+.+.}-{4:4}: [ 68.625383][ T5313] validate_chain+0xb9b/0x2140 [ 68.627733][ T5313] __lock_acquire+0xaac/0xd20 [ 68.630049][ T5313] lock_acquire+0x120/0x360 [ 68.632234][ T5313] __mutex_lock+0x182/0xe80 [ 68.634355][ T5313] hfsplus_find_init+0x15a/0x1d0 [ 68.636768][ T5313] hfsplus_file_truncate+0x383/0xb40 [ 68.639301][ T5313] hfsplus_setattr+0x1c4/0x270 [ 68.641742][ T5313] notify_change+0xb36/0xe40 [ 68.643937][ T5313] do_truncate+0x19a/0x220 [ 68.646020][ T5313] path_openat+0x306c/0x3830 [ 68.648341][ T5313] do_filp_open+0x1fa/0x410 [ 68.650615][ T5313] do_sys_openat2+0x121/0x1c0 [ 68.652920][ T5313] __x64_sys_creat+0x8f/0xc0 [ 68.655057][ T5313] do_syscall_64+0xf6/0x210 [ 68.657176][ T5313] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.660056][ T5313] [ 68.660056][ T5313] other info that might help us debug this: [ 68.660056][ T5313] [ 68.664426][ T5313] Possible unsafe locking scenario: [ 68.664426][ T5313] [ 68.667731][ T5313] CPU0 CPU1 [ 68.670112][ T5313] ---- ---- [ 68.672562][ T5313] lock(&HFSPLUS_I(inode)->extents_lock); [ 68.675086][ T5313] lock(&tree->tree_lock/1); [ 68.678061][ T5313] lock(&HFSPLUS_I(inode)->extents_lock); [ 68.681679][ T5313] lock(&tree->tree_lock/1); [ 68.683712][ T5313] [ 68.683712][ T5313] *** DEADLOCK *** [ 68.683712][ T5313] [ 68.687015][ T5313] 3 locks held by syz.0.0/5313: [ 68.689192][ T5313] #0: ffff88801c4fe420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 68.693446][ T5313] #1: ffff88805303b238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: do_truncate+0x186/0x220 [ 68.698162][ T5313] #2: ffff88805303b048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 68.703273][ T5313] [ 68.703273][ T5313] stack backtrace: [ 68.705706][ T5313] CPU: 0 UID: 0 PID: 5313 Comm: syz.0.0 Not tainted 6.15.0-rc7-syzkaller-00133-g7586ac7c340c #0 PREEMPT(full) [ 68.705721][ T5313] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 68.705728][ T5313] Call Trace: [ 68.705736][ T5313] [ 68.705742][ T5313] dump_stack_lvl+0x189/0x250 [ 68.705764][ T5313] ? __pfx_dump_stack_lvl+0x10/0x10 [ 68.705777][ T5313] ? __pfx__printk+0x10/0x10 [ 68.705789][ T5313] ? print_lock_name+0xde/0x100 [ 68.705806][ T5313] print_circular_bug+0x2ee/0x310 [ 68.705819][ T5313] check_noncircular+0x134/0x160 [ 68.705829][ T5313] validate_chain+0xb9b/0x2140 [ 68.705839][ T5313] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 68.705856][ T5313] __lock_acquire+0xaac/0xd20 [ 68.705874][ T5313] ? hfsplus_find_init+0x15a/0x1d0 [ 68.705886][ T5313] lock_acquire+0x120/0x360 [ 68.705901][ T5313] ? hfsplus_find_init+0x15a/0x1d0 [ 68.705915][ T5313] __mutex_lock+0x182/0xe80 [ 68.705928][ T5313] ? hfsplus_find_init+0x15a/0x1d0 [ 68.705940][ T5313] ? hfsplus_find_init+0x15a/0x1d0 [ 68.705951][ T5313] ? __pfx___mutex_lock+0x10/0x10 [ 68.705964][ T5313] ? rcu_is_watching+0x15/0xb0 [ 68.705972][ T5313] ? __kmalloc_noprof+0x29b/0x4f0 [ 68.705984][ T5313] ? hfsplus_find_init+0x8c/0x1d0 [ 68.705996][ T5313] hfsplus_find_init+0x15a/0x1d0 [ 68.706007][ T5313] hfsplus_file_truncate+0x383/0xb40 [ 68.706024][ T5313] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 68.706040][ T5313] ? unmap_mapping_range+0xde/0x170 [ 68.706052][ T5313] ? __pfx_unmap_mapping_range+0x10/0x10 [ 68.706063][ T5313] ? truncate_setsize+0xcf/0xf0 [ 68.706076][ T5313] hfsplus_setattr+0x1c4/0x270 [ 68.706090][ T5313] ? __pfx_hfsplus_setattr+0x10/0x10 [ 68.706103][ T5313] notify_change+0xb36/0xe40 [ 68.706115][ T5313] do_truncate+0x19a/0x220 [ 68.706128][ T5313] ? __pfx_do_truncate+0x10/0x10 [ 68.706138][ T5313] ? apparmor_file_truncate+0x23e/0x2d0 [ 68.706160][ T5313] path_openat+0x306c/0x3830 [ 68.706169][ T5313] ? arch_stack_walk+0xfc/0x150 [ 68.706187][ T5313] ? __pfx_path_openat+0x10/0x10 [ 68.706198][ T5313] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.706212][ T5313] do_filp_open+0x1fa/0x410 [ 68.706222][ T5313] ? __pfx_do_filp_open+0x10/0x10 [ 68.706238][ T5313] ? _raw_spin_unlock+0x28/0x50 [ 68.706249][ T5313] ? alloc_fd+0x64c/0x6c0 [ 68.706263][ T5313] do_sys_openat2+0x121/0x1c0 [ 68.706273][ T5313] ? __pfx_do_sys_openat2+0x10/0x10 [ 68.706282][ T5313] ? rcu_is_watching+0x15/0xb0 [ 68.706293][ T5313] __x64_sys_creat+0x8f/0xc0 [ 68.706304][ T5313] do_syscall_64+0xf6/0x210 [ 68.706318][ T5313] ? clear_bhb_loop+0x60/0xb0 [ 68.706328][ T5313] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.706339][ T5313] RIP: 0033:0x7fd3ee98e969 [ 68.706350][ T5313] 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 [ 68.706359][ T5313] RSP: 002b:00007fd3ef875038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 68.706404][ T5313] RAX: ffffffffffffffda RBX: 00007fd3eebb5fa0 RCX: 00007fd3ee98e969 [ 68.706412][ T5313] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000080 [ 68.706419][ T5313] RBP: 00007fd3eea10ab1 R08: 0000000000000000 R09: 0000000000000000 [ 68.706426][ T5313] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 68.706432][ T5313] R13: 0000000000000000 R14: 00007fd3eebb5fa0 R15: 00007fff65abc1e8 [ 68.706444][ T5313] [ 68.864502][ T26] audit: type=1800 audit(1748040893.601:2): pid=5314 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz.0.0" name="file1" dev="loop0" ino=20 res=0 errno=0