program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") syz_mount_image$ext4(&(0x7f00000004c0)='ext4\x00', &(0x7f0000000500)='./file1\x00', 0x8, &(0x7f0000000000)={[{@nodioread_nolock}, {@inlinecrypt}, {@minixdf}, {@barrier}]}, 0x4, 0x4f3, &(0x7f00000012c0)="$eJzs3c9vVEUcAPDvbru0lEJBOahRQUTRELY/gIZwES4aQ0iMxJMHqO3SNN1lm26JtHIoR+8kknjSP8GbBxNOHrx505sXPJigEg018bDmvV3apb+1P9Z2P5/k9b2ZWfY702Vm9g3sTgAt62hEzEbEnoi4FhE99fxM/YgLtSN53ONHt4fnHt0ezkS1euW3TFqe5EXDn0nsqz9nZ0S8/07ER5mlcSvTM+NDxWJhsp7unSpN9FamZ06NZes5A4P9g33nTp8d2LS2Hil99fDtsUsffPP1Sw++n33zk6Ra3Z/uT8sa27GZak3PRXdDXntEXNqKYE3SXv/7w86T9LZnIuJY2v97oi19NQGA3axa7YlqT2MaANjtkvv/7shk8/W1gO7IZvP52hre4ejKFsuVqZM95Zs3RiJdwzoYuez1sWKhr75WeDBymSTdn14vpAeeSt8tnI6IQxFxt2NvWp4fLhdHmvnGBwBa2L5F8/+fHbX5HwDY5TqbXQEAYNuZ/wGg9Zj/AaD1/Iv536cDAWCXcP8PAK3H/A8ArWfN+f/O9tQDANgW712+nBzVudr3Xz/5pu5TI4XKeL50czg/XJ6cyI+Wy6PFQn64Wl3r+Yrl8kT/mflkZXrmaql888bU1bHS0GjhaiG3lY0BANbl0JH7PyaT/uz5vekRDXs5mKthd8s2uwJA07Q1uwJA0/g8D7SuddzjWwaAXW6ZLXqfsuJ/Ebpn81fYqU48b/0fWtVG1v+tHcDO9t/W/9/a9HoA288cDq2rWs3Y8x8AWow1fmBD//4PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALao7PTLZfLoX+GzyM5vPR+yPiIORy1wfKxb6IuJARPzQketI0v3NrjQAsEHZXzL1/b9O9BzvXly6J/NXR3qOiI8/v/LZraGpqcn+JP/3+fype/X8gT3NaAAA0OjC0qzaPF0/N9zIP350e/jJsZ1VfHixtrloEneuftRK2qM9PXdGLiK6/sjU0zXJ+5W2TYg/eycinlto/62GCN3pGkht59PF8ZPY+7cg/sLvf3H87FPxs2lZcs6lv4tnN6Eu0GruX6yNk/W+l3Sxev/LxtH0vHz/70xHqI1Lxr9kLJlbMv5l58e/tiXxM2mfPzqfXr0mD898++6SzGpPrexOxAvty8XPzMfPLD/+5o6vs40/vfjysZXKql9EnFi2/U92pC6lw2zvVGmitzI9c2qsNDRaGC3cGBgY7B/sO3f67EBvukZd+/ndcjF+PX/ywErxk/Z3rRC/c/X2x2vrbP+Xf1/78JVV4r/x6vKv/+FV4idz4uvrjD/UdWHF7buT+CMrtH+N1z9OrjP+g59nRtb5UABgG1SmZ8aHisXC5BoXyXvNtR7jYmdexGzEZj1huigREf+HdrnYyEWzRyZgqy10+mbXBAAAAAAAAAAAAAAAWEllema8Y4s/rdXsNgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALB7/RMAAP//TwTJNg==") r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\x00', 0x441, 0x104) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='./file1\x00', 0x143041, 0x0) pwritev2(r1, &(0x7f00000001c0)=[{&(0x7f0000000080)="ff", 0xfdef}], 0x1, 0xe7b, 0x0, 0x0) ioctl$EXT4_IOC_GET_ES_CACHE(r0, 0xc020662a, &(0x7f00000000c0)={0x8, 0x2, 0x1, 0x9, 0x1, 0x0, [{0x81, 0x0, 0x2000000000000000}]}) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r3, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r2, &(0x7f0000000000), 0x70000}]) [ 74.862509][ T4683] Bluetooth: hci0: command tx timeout [ 74.947364][ T5335] loop0: detected capacity change from 0 to 1024 [ 75.072585][ T5335] [ 75.073729][ T5335] ====================================================== [ 75.076577][ T5335] WARNING: possible circular locking dependency detected [ 75.079517][ T5335] 6.16.0-rc7-syzkaller-00020-gf9af7b5d9349 #0 Not tainted [ 75.082459][ T5335] ------------------------------------------------------ [ 75.085392][ T5335] syz.0.0/5335 is trying to acquire lock: [ 75.087819][ T5335] ffff888053678108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 75.092537][ T5335] [ 75.092537][ T5335] but task is already holding lock: [ 75.095720][ T5335] ffff8880442c80b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 75.099726][ T5335] [ 75.099726][ T5335] which lock already depends on the new lock. [ 75.099726][ T5335] [ 75.104067][ T5335] [ 75.104067][ T5335] the existing dependency chain (in reverse order) is: [ 75.108052][ T5335] [ 75.108052][ T5335] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 75.112481][ T5335] lock_acquire+0x120/0x360 [ 75.115070][ T5335] __mutex_lock+0x182/0xe80 [ 75.117455][ T5335] hfsplus_find_init+0x15a/0x1d0 [ 75.119751][ T5335] hfsplus_get_block+0x8dd/0x1530 [ 75.122215][ T5335] __block_write_begin_int+0x6b2/0x1900 [ 75.124818][ T5335] cont_write_begin+0x789/0xb50 [ 75.127256][ T5335] hfsplus_write_begin+0x66/0xb0 [ 75.129620][ T5335] generic_perform_write+0x2c7/0x910 [ 75.132189][ T5335] generic_file_write_iter+0x10f/0x540 [ 75.134728][ T5335] do_iter_readv_writev+0x56b/0x7f0 [ 75.137397][ T5335] vfs_writev+0x31a/0x960 [ 75.139477][ T5335] __se_sys_pwritev2+0x179/0x290 [ 75.141753][ T5335] do_syscall_64+0xfa/0x3b0 [ 75.143885][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.146721][ T5335] [ 75.146721][ T5335] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 75.150855][ T5335] validate_chain+0xb9b/0x2140 [ 75.153212][ T5335] __lock_acquire+0xab9/0xd20 [ 75.155574][ T5335] lock_acquire+0x120/0x360 [ 75.157785][ T5335] __mutex_lock+0x182/0xe80 [ 75.160005][ T5335] hfsplus_file_extend+0x1fc/0x1990 [ 75.162493][ T5335] hfsplus_bmap_reserve+0x122/0x500 [ 75.165064][ T5335] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.167700][ T5335] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.170341][ T5335] hfsplus_file_extend+0x444/0x1990 [ 75.172893][ T5335] hfsplus_get_block+0x411/0x1530 [ 75.175308][ T5335] __block_write_begin_int+0x6b2/0x1900 [ 75.177883][ T5335] cont_write_begin+0x789/0xb50 [ 75.180245][ T5335] hfsplus_write_begin+0x66/0xb0 [ 75.182659][ T5335] generic_perform_write+0x2c7/0x910 [ 75.185145][ T5335] generic_file_write_iter+0x10f/0x540 [ 75.187773][ T5335] aio_write+0x535/0x7a0 [ 75.189778][ T5335] io_submit_one+0x78b/0x1310 [ 75.192451][ T5335] __se_sys_io_submit+0x185/0x2f0 [ 75.195133][ T5335] do_syscall_64+0xfa/0x3b0 [ 75.197551][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.200464][ T5335] [ 75.200464][ T5335] other info that might help us debug this: [ 75.200464][ T5335] [ 75.204743][ T5335] Possible unsafe locking scenario: [ 75.204743][ T5335] [ 75.207993][ T5335] CPU0 CPU1 [ 75.210386][ T5335] ---- ---- [ 75.212988][ T5335] lock(&tree->tree_lock/1); [ 75.215188][ T5335] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.218552][ T5335] lock(&tree->tree_lock/1); [ 75.221705][ T5335] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.224584][ T5335] [ 75.224584][ T5335] *** DEADLOCK *** [ 75.224584][ T5335] [ 75.228194][ T5335] 3 locks held by syz.0.0/5335: [ 75.230476][ T5335] #0: ffff88805367b238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xe3/0x540 [ 75.235635][ T5335] #1: ffff88805367b048 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 75.240906][ T5335] #2: ffff8880442c80b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 75.245252][ T5335] [ 75.245252][ T5335] stack backtrace: [ 75.247839][ T5335] CPU: 0 UID: 0 PID: 5335 Comm: syz.0.0 Not tainted 6.16.0-rc7-syzkaller-00020-gf9af7b5d9349 #0 PREEMPT(full) [ 75.247853][ T5335] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 75.247861][ T5335] Call Trace: [ 75.247868][ T5335] [ 75.247874][ T5335] dump_stack_lvl+0x189/0x250 [ 75.247895][ T5335] ? __pfx_dump_stack_lvl+0x10/0x10 [ 75.247909][ T5335] ? __pfx__printk+0x10/0x10 [ 75.247925][ T5335] ? print_lock_name+0xde/0x100 [ 75.247940][ T5335] print_circular_bug+0x2ee/0x310 [ 75.247953][ T5335] check_noncircular+0x134/0x160 [ 75.247967][ T5335] validate_chain+0xb9b/0x2140 [ 75.247980][ T5335] ? rcu_is_watching+0x15/0xb0 [ 75.247992][ T5335] ? __kasan_check_byte+0x12/0x40 [ 75.248004][ T5335] ? rcu_is_watching+0x15/0xb0 [ 75.248017][ T5335] ? look_up_lock_class+0x74/0x170 [ 75.248030][ T5335] ? register_lock_class+0x51/0x320 [ 75.248041][ T5335] __lock_acquire+0xab9/0xd20 [ 75.248055][ T5335] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.248072][ T5335] lock_acquire+0x120/0x360 [ 75.248083][ T5335] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.248102][ T5335] __mutex_lock+0x182/0xe80 [ 75.248111][ T5335] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.248121][ T5335] ? check_path+0x21/0x40 [ 75.248129][ T5335] ? check_noncircular+0xe0/0x160 [ 75.248139][ T5335] ? hfsplus_file_extend+0x1fc/0x1990 [ 75.248154][ T5335] ? __pfx___mutex_lock+0x10/0x10 [ 75.248167][ T5335] hfsplus_file_extend+0x1fc/0x1990 [ 75.248185][ T5335] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.248199][ T5335] ? __mutex_trylock_common+0x153/0x260 [ 75.248215][ T5335] ? __pfx___mutex_trylock_common+0x10/0x10 [ 75.248231][ T5335] ? rcu_is_watching+0x15/0xb0 [ 75.248245][ T5335] ? trace_contention_end+0x39/0x120 [ 75.248262][ T5335] ? __mutex_lock+0x330/0xe80 [ 75.248272][ T5335] ? hfsplus_brec_find+0x191/0x500 [ 75.248287][ T5335] hfsplus_bmap_reserve+0x122/0x500 [ 75.248303][ T5335] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.248320][ T5335] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.248339][ T5335] hfsplus_file_extend+0x444/0x1990 [ 75.248359][ T5335] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.248376][ T5335] ? clean_bdev_aliases+0x5c9/0x6b0 [ 75.248394][ T5335] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 75.248410][ T5335] hfsplus_get_block+0x411/0x1530 [ 75.248428][ T5335] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.248444][ T5335] ? do_raw_spin_unlock+0x4d/0x240 [ 75.248459][ T5335] ? _raw_spin_unlock+0x28/0x50 [ 75.248475][ T5335] __block_write_begin_int+0x6b2/0x1900 [ 75.248494][ T5335] ? folio_add_lru+0x1b2/0x3d0 [ 75.248511][ T5335] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.248527][ T5335] ? __pfx___block_write_begin_int+0x10/0x10 [ 75.248540][ T5335] cont_write_begin+0x789/0xb50 [ 75.248557][ T5335] ? __pfx_cont_write_begin+0x10/0x10 [ 75.248582][ T5335] ? __pfx___might_resched+0x10/0x10 [ 75.248597][ T5335] ? folio_unlock+0x101/0x160 [ 75.248614][ T5335] hfsplus_write_begin+0x66/0xb0 [ 75.248630][ T5335] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.248646][ T5335] generic_perform_write+0x2c7/0x910 [ 75.248659][ T5335] ? __pfx_generic_perform_write+0x10/0x10 [ 75.248667][ T5335] ? file_update_time+0x2da/0x490 [ 75.248677][ T5335] ? __generic_file_write_iter+0xf9/0x230 [ 75.248686][ T5335] ? generic_file_write_iter+0xfb/0x540 [ 75.248697][ T5335] generic_file_write_iter+0x10f/0x540 [ 75.248706][ T5335] ? aa_file_perm+0x11f/0xed0 [ 75.248717][ T5335] ? __pfx_generic_file_write_iter+0x10/0x10 [ 75.248731][ T5335] ? __lock_acquire+0xab9/0xd20 [ 75.248746][ T5335] ? aio_write+0x4c4/0x7a0 [ 75.248761][ T5335] aio_write+0x535/0x7a0 [ 75.248777][ T5335] ? __pfx_aio_write+0x10/0x10 [ 75.248794][ T5335] ? __might_fault+0xb0/0x130 [ 75.248809][ T5335] io_submit_one+0x78b/0x1310 [ 75.248826][ T5335] ? __pfx_io_submit_one+0x10/0x10 [ 75.248840][ T5335] ? __might_fault+0xb0/0x130 [ 75.248854][ T5335] ? __might_fault+0xb0/0x130 [ 75.248867][ T5335] __se_sys_io_submit+0x185/0x2f0 [ 75.248881][ T5335] ? __pfx___se_sys_io_submit+0x10/0x10 [ 75.248896][ T5335] ? do_syscall_64+0xbe/0x3b0 [ 75.248909][ T5335] do_syscall_64+0xfa/0x3b0 [ 75.248919][ T5335] ? lockdep_hardirqs_on+0x9c/0x150 [ 75.248930][ T5335] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.248940][ T5335] ? clear_bhb_loop+0x60/0xb0 [ 75.248952][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.248964][ T5335] RIP: 0033:0x7f0d2a58e9a9 [ 75.248976][ T5335] 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.248986][ T5335] RSP: 002b:00007f0d2b3ff038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 75.248999][ T5335] RAX: ffffffffffffffda RBX: 00007f0d2a7b5fa0 RCX: 00007f0d2a58e9a9 [ 75.249008][ T5335] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f0d2b3b5000 [ 75.249049][ T5335] RBP: 00007f0d2a610d69 R08: 0000000000000000 R09: 0000000000000000 [ 75.249057][ T5335] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 75.249063][ T5335] R13: 0000000000000000 R14: 00007f0d2a7b5fa0 R15: 00007ffedbe0f038 [ 75.249073][ T5335]