program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000100)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = openat(0xffffffffffffff9c, &(0x7f0000000100)='./file1\x00', 0x84042, 0x1fb) write$P9_RUNLINKAT(r0, &(0x7f0000000000)={0xfffffffffffffecb, 0x4d, 0x1}, 0xffffffd7) ioctl$KVM_GET_MP_STATE(r0, 0x8004ae98, &(0x7f0000000100)) write$vhost_msg(r0, &(0x7f0000000180)={0x1, {&(0x7f00000002c0)=""/248, 0xf8, &(0x7f00000017c0)=""/4096, 0x1, 0x3}}, 0x48) r1 = socket$inet_sctp(0x2, 0x1, 0x84) setsockopt$IP_VS_SO_SET_ADD(r1, 0x0, 0x482, &(0x7f0000000040)={0x84, @dev={0xac, 0x14, 0x14, 0xb}, 0x15, 0x3, 'sed\x00', 0x1, 0x4, 0x72}, 0x2c) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFQNL_MSG_CONFIG(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000140)=ANY=[@ANYBLOB="30000000020301040000000000000004000000040800044000bf00120800010001"], 0x30}, 0x1, 0x0, 0x0, 0x4008880}, 0x4054) setsockopt$IP_VS_SO_SET_FLUSH(r1, 0x0, 0x485, 0x0, 0x0) r3 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r4, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r3, &(0x7f0000000000), 0x70000}]) [ 74.505957][ T5309] Bluetooth: hci0: command tx timeout [ 74.563551][ T5324] loop0: detected capacity change from 0 to 1024 [ 74.638548][ T25] audit: type=1800 audit(1744326970.057:2): pid=5324 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 [ 74.657202][ T10] IPVS: starting estimator thread 0... [ 74.662168][ T5324] netlink: 12 bytes leftover after parsing attributes in process `syz.0.0'. [ 74.673331][ T5324] [ 74.674375][ T5324] ====================================================== [ 74.677083][ T5324] WARNING: possible circular locking dependency detected [ 74.679669][ T5324] 6.15.0-rc1-syzkaller-00173-g0c7cae12f67c #0 Not tainted [ 74.682144][ T5324] ------------------------------------------------------ [ 74.684751][ T5324] syz.0.0/5324 is trying to acquire lock: [ 74.686865][ T5324] ffff8880411e4108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21d/0x1b70 [ 74.691076][ T5324] [ 74.691076][ T5324] but task is already holding lock: [ 74.693808][ T5324] ffff88805360a0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x14f/0x1d0 [ 74.697450][ T5324] [ 74.697450][ T5324] which lock already depends on the new lock. [ 74.697450][ T5324] [ 74.701440][ T5324] [ 74.701440][ T5324] the existing dependency chain (in reverse order) is: [ 74.704862][ T5324] [ 74.704862][ T5324] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 74.707963][ T5324] lock_acquire+0x116/0x2f0 [ 74.709934][ T5324] __mutex_lock+0x1a5/0x10c0 [ 74.711960][ T5324] hfsplus_find_init+0x14f/0x1d0 [ 74.713923][ T5324] hfsplus_get_block+0x5c6/0x14f0 [ 74.715876][ T5324] __blockdev_direct_IO+0x1add/0x4540 [ 74.718073][ T5324] hfsplus_direct_IO+0xf7/0x1e0 [ 74.720678][ T5324] generic_file_direct_write+0x1e8/0x400 [ 74.723369][ T5324] __generic_file_write_iter+0x126/0x230 [ 74.725795][ T5324] generic_file_write_iter+0x10e/0x5e0 [ 74.728108][ T5324] vfs_write+0x70f/0xd10 [ 74.729942][ T5324] ksys_write+0x19d/0x2d0 [ 74.731881][ T5324] do_syscall_64+0xf3/0x230 [ 74.733922][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.736365][ T5324] [ 74.736365][ T5324] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 74.739912][ T5324] validate_chain+0xa69/0x24e0 [ 74.742001][ T5324] __lock_acquire+0xad5/0xd80 [ 74.744081][ T5324] lock_acquire+0x116/0x2f0 [ 74.746083][ T5324] __mutex_lock+0x1a5/0x10c0 [ 74.748113][ T5324] hfsplus_file_extend+0x21d/0x1b70 [ 74.750260][ T5324] hfsplus_bmap_reserve+0x105/0x4e0 [ 74.752435][ T5324] __hfsplus_ext_write_extent+0x2a4/0x5c0 [ 74.754692][ T5324] __hfsplus_ext_cache_extent+0x84/0xe10 [ 74.757164][ T5324] hfsplus_file_extend+0x48e/0x1b70 [ 74.759372][ T5324] hfsplus_get_block+0x408/0x14f0 [ 74.761542][ T5324] __block_write_begin_int+0x691/0x1930 [ 74.763902][ T5324] cont_write_begin+0x781/0xb40 [ 74.765980][ T5324] hfsplus_write_begin+0x68/0xb0 [ 74.768182][ T5324] generic_perform_write+0x329/0xa10 [ 74.770479][ T5324] generic_file_write_iter+0x10e/0x5e0 [ 74.772732][ T5324] aio_write+0x56d/0x7d0 [ 74.774673][ T5324] io_submit_one+0x8a9/0x18b0 [ 74.776723][ T5324] __se_sys_io_submit+0x17a/0x2e0 [ 74.778908][ T5324] do_syscall_64+0xf3/0x230 [ 74.780942][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.783427][ T5324] [ 74.783427][ T5324] other info that might help us debug this: [ 74.783427][ T5324] [ 74.787332][ T5324] Possible unsafe locking scenario: [ 74.787332][ T5324] [ 74.790232][ T5324] CPU0 CPU1 [ 74.792350][ T5324] ---- ---- [ 74.794483][ T5324] lock(&tree->tree_lock/1); [ 74.796328][ T5324] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.799512][ T5324] lock(&tree->tree_lock/1); [ 74.802363][ T5324] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.804709][ T5324] [ 74.804709][ T5324] *** DEADLOCK *** [ 74.804709][ T5324] [ 74.807765][ T5324] 3 locks held by syz.0.0/5324: [ 74.809667][ T5324] #0: ffff8880411e7238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xe2/0x5e0 [ 74.813983][ T5324] #1: ffff8880411e7048 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21d/0x1b70 [ 74.818034][ T5324] #2: ffff88805360a0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x14f/0x1d0 [ 74.822003][ T5324] [ 74.822003][ T5324] stack backtrace: [ 74.824799][ T5324] CPU: 0 UID: 0 PID: 5324 Comm: syz.0.0 Not tainted 6.15.0-rc1-syzkaller-00173-g0c7cae12f67c #0 PREEMPT(full) [ 74.824817][ T5324] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 74.824825][ T5324] Call Trace: [ 74.824833][ T5324] [ 74.824840][ T5324] dump_stack_lvl+0x241/0x360 [ 74.824863][ T5324] ? __pfx_dump_stack_lvl+0x10/0x10 [ 74.824879][ T5324] ? __pfx__printk+0x10/0x10 [ 74.824894][ T5324] ? print_lock+0x171/0x1a0 [ 74.824910][ T5324] print_circular_bug+0x2e1/0x300 [ 74.824926][ T5324] check_noncircular+0x142/0x160 [ 74.824941][ T5324] validate_chain+0xa69/0x24e0 [ 74.824957][ T5324] ? lock_release+0x4e/0x3e0 [ 74.824968][ T5324] ? look_up_lock_class+0x7b/0x170 [ 74.824982][ T5324] ? register_lock_class+0x54/0x330 [ 74.824996][ T5324] __lock_acquire+0xad5/0xd80 [ 74.825009][ T5324] lock_acquire+0x116/0x2f0 [ 74.825021][ T5324] ? hfsplus_file_extend+0x21d/0x1b70 [ 74.825044][ T5324] ? stack_trace_save+0x11a/0x1d0 [ 74.825064][ T5324] __mutex_lock+0x1a5/0x10c0 [ 74.825078][ T5324] ? hfsplus_file_extend+0x21d/0x1b70 [ 74.825089][ T5324] ? check_noncircular+0xee/0x160 [ 74.825104][ T5324] ? lockdep_unlock+0x8d/0x120 [ 74.825114][ T5324] ? hfsplus_file_extend+0x21d/0x1b70 [ 74.825124][ T5324] ? __pfx___mutex_lock+0x10/0x10 [ 74.825141][ T5324] hfsplus_file_extend+0x21d/0x1b70 [ 74.825156][ T5324] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.825167][ T5324] ? __pfx___mutex_trylock_common+0x10/0x10 [ 74.825184][ T5324] ? rcu_is_watching+0x15/0xb0 [ 74.825198][ T5324] ? trace_contention_end+0x3c/0x120 [ 74.825213][ T5324] ? __mutex_lock+0x380/0x10c0 [ 74.825226][ T5324] ? hfsplus_brec_find+0x1a0/0x590 [ 74.825241][ T5324] hfsplus_bmap_reserve+0x105/0x4e0 [ 74.825257][ T5324] __hfsplus_ext_write_extent+0x2a4/0x5c0 [ 74.825270][ T5324] __hfsplus_ext_cache_extent+0x84/0xe10 [ 74.825285][ T5324] hfsplus_file_extend+0x48e/0x1b70 [ 74.825299][ T5324] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.825312][ T5324] ? clean_bdev_aliases+0x6ff/0x8a0 [ 74.825326][ T5324] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 74.825338][ T5324] hfsplus_get_block+0x408/0x14f0 [ 74.825352][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.825363][ T5324] ? _raw_spin_unlock+0x28/0x50 [ 74.825376][ T5324] ? create_empty_buffers+0x471/0x530 [ 74.825388][ T5324] __block_write_begin_int+0x691/0x1930 [ 74.825405][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.825416][ T5324] ? __pfx___block_write_begin_int+0x10/0x10 [ 74.825429][ T5324] cont_write_begin+0x781/0xb40 [ 74.825445][ T5324] ? __pfx_cont_write_begin+0x10/0x10 [ 74.825457][ T5324] ? __pfx___might_resched+0x10/0x10 [ 74.825471][ T5324] ? __mark_inode_dirty+0x3db/0xe90 [ 74.825484][ T5324] hfsplus_write_begin+0x68/0xb0 [ 74.825500][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.825511][ T5324] generic_perform_write+0x329/0xa10 [ 74.825530][ T5324] ? __pfx_generic_perform_write+0x10/0x10 [ 74.825545][ T5324] ? file_update_time+0x2ab/0x450 [ 74.825558][ T5324] ? __generic_file_write_iter+0x102/0x230 [ 74.825576][ T5324] generic_file_write_iter+0x10e/0x5e0 [ 74.825593][ T5324] ? __pfx_generic_file_write_iter+0x10/0x10 [ 74.825610][ T5324] ? __pfx_aa_file_perm+0x10/0x10 [ 74.825630][ T5324] ? __lock_acquire+0xad5/0xd80 [ 74.825648][ T5324] ? aio_write+0x501/0x7d0 [ 74.825660][ T5324] aio_write+0x56d/0x7d0 [ 74.825671][ T5324] ? __pfx_aio_write+0x10/0x10 [ 74.825689][ T5324] io_submit_one+0x8a9/0x18b0 [ 74.825701][ T5324] ? __lock_acquire+0xad5/0xd80 [ 74.825714][ T5324] ? __pfx_io_submit_one+0x10/0x10 [ 74.825727][ T5324] ? __might_fault+0xaa/0x120 [ 74.825745][ T5324] __se_sys_io_submit+0x17a/0x2e0 [ 74.825761][ T5324] ? __pfx___se_sys_io_submit+0x10/0x10 [ 74.825779][ T5324] ? do_syscall_64+0xb6/0x230 [ 74.825795][ T5324] do_syscall_64+0xf3/0x230 [ 74.825810][ T5324] ? clear_bhb_loop+0x45/0xa0 [ 74.825823][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.825836][ T5324] RIP: 0033:0x7f885e58d169 [ 74.825848][ T5324] 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.825857][ T5324] RSP: 002b:00007f885f387038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 74.825870][ T5324] RAX: ffffffffffffffda RBX: 00007f885e7a5fa0 RCX: 00007f885e58d169 [ 74.825879][ T5324] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f885f33d000 [ 74.825887][ T5324] RBP: 00007f885e60e990 R08: 0000000000000000 R09: 0000000000000000 [ 74.825895][ T5324] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 74.825902][ T5324] R13: 0000000000000000 R14: 00007f885e7a5fa0 R15: 00007ffd20e47cd8 [ 74.825915][ T5324] [ 75.065328][ T5326] IPVS: using max 93 ests per chain, 223200 per kthread