program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$eJzs3U1sHGf9B/DvbnbX3vz/Sp02SQOqRNRIBRGROLGSYi4NCKFIVKgqB8TRSpzGyiatHBc5EYLwfuDCoXeKRG5cQOIeVM7AqVcfKyFx6SmAxKKZnbXXr9l1Yq8tPp9odp5nnpd5nt/M7OzOKnKA/1nXzqXxOLVcO/fmcpFfeTTTWXk0c6efTjKRpJ40eqvU7ia1j5Kr6S35TLGx6q623X4+WJh9++NPVz7p5RrVUtav79Rukyv1LTY+rJacSXKkWj+Ddf1d39Bfa+TuaqszLAJ2th84GLdmku463z21VvJUw1+3wIFVK++bm6/5qeRoksnqc0Dvrti7Zx9qD8c9AAAAANgHL/yy/Ap/bNzjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgMOk9/f/i1W51PvpM6n1//5/q9qWKn2oPR73AAAAAAAAAABgdN/8/w0bPvckT7KcY/18t1b+5v9qmTlRvv5f3s+9zGcx57OcuSxlKYu5mGSqLG+Wr63luaWlxYtDtLy02jIDLS8NOYP27icPAAAAAAAAAIdFY/QmP861td//AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgIKglR3qrcjnRT0+l3kgymaRV1HuY/LWfPpB+/afBXPff3dKmao/3c0wAAAAwJi88yZMs51g/362V3/lPld/7J/N+7mYpC1lKJ/O5UT4L6H3rr688mumsPJq5Uyyb+/3qP0YaRtljes8ett7z6bJGOzezUG45n+t5N53cSL1sWTjdH8/W4/pRMabaG5UhR3ajWhcz/1WaI81qN2pD15wqI1KMqBeR6aptEY3jO0dixKPT31M/9hdTX33yc+J5xny5t3r9t711MZ+fjxSTvbYxEpcGzr5TK6ntEInk83/83Xdude7enrh579zBmdIIJgaeoG2MxMxAJF7e+ZxIM1Ukbh3WSAyaLiNxcjV/Ld/It3MuZ/JWFrOQ72UuS5nPmXw9czmSuep8Ll6ndo7U1XW5t542klZ5XJrVu+jwY1rKXF4t2x7LQr6Vd3Mj87lS/ruUi3m96jGrR/jkEFd9fbR32rNfGHiY/Isk7eHa7YNiYMdX706DZ/10eR0cX7dl7Tp48fnfjxqfrRLFPn4ycETGb2MkLg5E4qWdI/Gb8m3lXufu7cVbc+8Nub/XqnVxHf3sQN0livPlxeJglbn1Z0dR9tLGsslevFrVLy69svV33KLs5GrZ9lfq5VzObFn71JY9XSrLXt6ybKYsOz1Qtu7z1tXe5y0ADryjXzzaav+9/Zf2h+2ftm+135z82sSXJ15ppfnn5lca00deq79S+0M+zA/Wvv8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC7d+/+g9tznc784oZEt9v94TZFe5hoJ+lvSZ7Wqpmn19mbRCtJmWj0E6P1MzFU5dba0Xnj988y5uaorZLnEqhGdZLdf3D7n91ud98P0xaJ5g7n/FqiW9lU1B2q+dgS/+o+vw7H/MYE7LkLS3feu3Dv/oMvLdyZe2f+nfm7s5cvz07PXr7ytws3Fzrz073XcY8S2AtrN/1xjwQAAAAAAAAAAAAY1n78t4Rtdv2ffZ4qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcEhdOzdRpc5PF68rj2Y6xdJPr1Ysq9WT1L6f1D5Krqa3ZGqgu9p2+/lgYfbtjz9d+aSXa1RLWb++rl1zN7N4WC05k+RItR40+Qz9Xa/WuxpZqbY6wyJgZ/uBg3H7bwAAAP//2wMQAg==") r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) r1 = open(&(0x7f0000000080)='./file1\x00', 0x64842, 0x86) pwritev2(r1, &(0x7f0000000240)=[{&(0x7f0000000000)="85", 0x5800}], 0x14, 0x7800, 0x0, 0x3) dup(r1) bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000300)=@bpf_lsm={0xd, 0x5, &(0x7f0000000040)=@framed={{0x26, 0xa, 0x0, 0x0, 0x0, 0x61, 0x10, 0x64}, [@initr0={0x18, 0x0, 0x0, 0x0, 0xffffffff}]}, &(0x7f0000000000)='GPL\x00'}, 0x94) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r2, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) recvmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x100, &(0x7f0000003040)={0x0, 0x3938700}) [ 73.632184][ T4664] Bluetooth: hci0: command tx timeout [ 73.760728][ T5318] loop0: detected capacity change from 0 to 1024 [ 73.823238][ T24] audit: type=1800 audit(1774013939.202:2): pid=5318 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 [ 73.851710][ T5318] [ 73.852840][ T5318] ====================================================== [ 73.855795][ T5318] WARNING: possible circular locking dependency detected [ 73.858737][ T5318] syzkaller #0 Not tainted [ 73.860906][ T5318] ------------------------------------------------------ [ 73.864966][ T5318] syz.0.0/5318 is trying to acquire lock: [ 73.867746][ T5318] ffff8880430dce88 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 73.872722][ T5318] [ 73.872722][ T5318] but task is already holding lock: [ 73.876183][ T5318] ffff88801275e0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 73.880788][ T5318] [ 73.880788][ T5318] which lock already depends on the new lock. [ 73.880788][ T5318] [ 73.885202][ T5318] [ 73.885202][ T5318] the existing dependency chain (in reverse order) is: [ 73.889451][ T5318] [ 73.889451][ T5318] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 73.893349][ T5318] __mutex_lock+0x19f/0x1300 [ 73.895488][ T5318] hfsplus_find_init+0x168/0x2d0 [ 73.897787][ T5318] hfsplus_get_block+0x91e/0x1670 [ 73.900205][ T5318] __blockdev_direct_IO+0x15d7/0x32f0 [ 73.902962][ T5318] hfsplus_direct_IO+0x119/0x220 [ 73.905996][ T5318] generic_file_direct_write+0x1db/0x3e0 [ 73.909051][ T5318] __generic_file_write_iter+0x11d/0x230 [ 73.911654][ T5318] generic_file_write_iter+0x14a/0x680 [ 73.914271][ T5318] do_iter_readv_writev+0x619/0x8c0 [ 73.916806][ T5318] vfs_writev+0x33c/0x990 [ 73.919081][ T5318] __se_sys_pwritev2+0x184/0x2a0 [ 73.922215][ T5318] do_syscall_64+0x14d/0xf80 [ 73.924553][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.927203][ T5318] [ 73.927203][ T5318] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 73.930811][ T5318] __lock_acquire+0x15a5/0x2cf0 [ 73.933394][ T5318] lock_acquire+0xf0/0x2e0 [ 73.935963][ T5318] __mutex_lock+0x19f/0x1300 [ 73.938303][ T5318] hfsplus_file_extend+0x215/0x1d70 [ 73.940799][ T5318] hfsplus_bmap_reserve+0x125/0x510 [ 73.943275][ T5318] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 73.945923][ T5318] __hfsplus_ext_cache_extent+0x89/0xe30 [ 73.948673][ T5318] hfsplus_file_extend+0x4af/0x1d70 [ 73.951957][ T5318] hfsplus_get_block+0x42c/0x1670 [ 73.954751][ T5318] __block_write_begin_int+0x6c6/0x1910 [ 73.957398][ T5318] cont_write_begin+0x737/0xae0 [ 73.959717][ T5318] hfsplus_write_begin+0x66/0xb0 [ 73.962180][ T5318] generic_perform_write+0x2e2/0x8f0 [ 73.964743][ T5318] generic_file_write_iter+0x14a/0x680 [ 73.967587][ T5318] aio_write+0x5cd/0x870 [ 73.969794][ T5318] io_submit_one+0x7bb/0x14c0 [ 73.972027][ T5318] __se_sys_io_submit+0x195/0x340 [ 73.974510][ T5318] do_syscall_64+0x14d/0xf80 [ 73.976908][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.980061][ T5318] [ 73.980061][ T5318] other info that might help us debug this: [ 73.980061][ T5318] [ 73.984688][ T5318] Possible unsafe locking scenario: [ 73.984688][ T5318] [ 73.988200][ T5318] CPU0 CPU1 [ 73.990797][ T5318] ---- ---- [ 73.993659][ T5318] lock(&tree->tree_lock/1); [ 73.995846][ T5318] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.999353][ T5318] lock(&tree->tree_lock/1); [ 74.002623][ T5318] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.005773][ T5318] [ 74.005773][ T5318] *** DEADLOCK *** [ 74.005773][ T5318] [ 74.009593][ T5318] 3 locks held by syz.0.0/5318: [ 74.011694][ T5318] #0: ffff8880430d64b8 (&sb->s_type->i_mutex_key#25){+.+.}-{4:4}, at: generic_file_write_iter+0x11e/0x680 [ 74.016546][ T5318] #1: ffff8880430d62c8 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 74.021571][ T5318] #2: ffff88801275e0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 74.026218][ T5318] [ 74.026218][ T5318] stack backtrace: [ 74.028680][ T5318] CPU: 0 UID: 0 PID: 5318 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 74.028701][ T5318] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 74.028732][ T5318] Call Trace: [ 74.028741][ T5318] [ 74.028748][ T5318] dump_stack_lvl+0xe8/0x150 [ 74.028802][ T5318] print_circular_bug+0x2e1/0x300 [ 74.028825][ T5318] check_noncircular+0x12e/0x150 [ 74.028844][ T5318] __lock_acquire+0x15a5/0x2cf0 [ 74.028861][ T5318] ? rcu_is_watching+0x15/0xb0 [ 74.028876][ T5318] ? lock_release+0x4b/0x3d0 [ 74.028888][ T5318] ? lock_release+0x4b/0x3d0 [ 74.028909][ T5318] lock_acquire+0xf0/0x2e0 [ 74.028922][ T5318] ? hfsplus_file_extend+0x215/0x1d70 [ 74.028941][ T5318] __mutex_lock+0x19f/0x1300 [ 74.028956][ T5318] ? hfsplus_file_extend+0x215/0x1d70 [ 74.028975][ T5318] ? stack_trace_save+0xa9/0x100 [ 74.028987][ T5318] ? __pfx_stack_trace_save+0x10/0x10 [ 74.029000][ T5318] ? hfsplus_file_extend+0x215/0x1d70 [ 74.029016][ T5318] ? __pfx___mutex_lock+0x10/0x10 [ 74.029028][ T5318] ? lockdep_unlock+0x5d/0xd0 [ 74.029039][ T5318] ? __lock_acquire+0x146e/0x2cf0 [ 74.029051][ T5318] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 74.029066][ T5318] hfsplus_file_extend+0x215/0x1d70 [ 74.029083][ T5318] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.029096][ T5318] ? __pfx___mutex_trylock_common+0x10/0x10 [ 74.029112][ T5318] ? rcu_is_watching+0x15/0xb0 [ 74.029125][ T5318] ? trace_contention_end+0x3d/0x150 [ 74.029141][ T5318] ? __asan_memset+0x22/0x50 [ 74.029155][ T5318] ? hfsplus_brec_find+0x19d/0x520 [ 74.029169][ T5318] hfsplus_bmap_reserve+0x125/0x510 [ 74.029183][ T5318] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 74.029194][ T5318] __hfsplus_ext_cache_extent+0x89/0xe30 [ 74.029211][ T5318] hfsplus_file_extend+0x4af/0x1d70 [ 74.029227][ T5318] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 74.029242][ T5318] ? clean_bdev_aliases+0x62e/0x750 [ 74.029254][ T5318] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 74.029266][ T5318] hfsplus_get_block+0x42c/0x1670 [ 74.029316][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.029336][ T5318] ? do_raw_spin_unlock+0x4d/0x210 [ 74.029347][ T5318] ? _raw_spin_unlock+0x28/0x50 [ 74.029362][ T5318] __block_write_begin_int+0x6c6/0x1910 [ 74.029376][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.029392][ T5318] ? __pfx___block_write_begin_int+0x10/0x10 [ 74.029404][ T5318] cont_write_begin+0x737/0xae0 [ 74.029415][ T5318] ? irqentry_exit+0x59e/0x620 [ 74.029426][ T5318] ? __pfx_cont_write_begin+0x10/0x10 [ 74.029440][ T5318] hfsplus_write_begin+0x66/0xb0 [ 74.029453][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 74.029467][ T5318] generic_perform_write+0x2e2/0x8f0 [ 74.029483][ T5318] ? __pfx_generic_perform_write+0x10/0x10 [ 74.029494][ T5318] ? file_update_time_flags+0x219/0x4a0 [ 74.029510][ T5318] ? __generic_file_write_iter+0xf9/0x230 [ 74.029520][ T5318] ? generic_file_write_iter+0x136/0x680 [ 74.029531][ T5318] generic_file_write_iter+0x14a/0x680 [ 74.029542][ T5318] ? __pfx_generic_file_write_iter+0x10/0x10 [ 74.029552][ T5318] ? do_raw_spin_lock+0x12b/0x2f0 [ 74.029563][ T5318] ? __lock_acquire+0x6b5/0x2cf0 [ 74.029576][ T5318] ? lockdep_hardirqs_on+0x7a/0x110 [ 74.029588][ T5318] ? kasan_save_track+0x4f/0x80 [ 74.029606][ T5318] ? aio_write+0x547/0x870 [ 74.029615][ T5318] aio_write+0x5cd/0x870 [ 74.029623][ T5318] ? __pfx_aio_write+0x10/0x10 [ 74.029637][ T5318] io_submit_one+0x7bb/0x14c0 [ 74.029646][ T5318] ? irqentry_exit+0x59e/0x620 [ 74.029657][ T5318] ? trace_irq_disable+0x3b/0x150 [ 74.029677][ T5318] ? __pfx_io_submit_one+0x10/0x10 [ 74.029688][ T5318] ? __might_fault+0xaf/0x130 [ 74.029704][ T5318] __se_sys_io_submit+0x195/0x340 [ 74.029720][ T5318] ? __pfx___se_sys_io_submit+0x10/0x10 [ 74.029737][ T5318] do_syscall_64+0x14d/0xf80 [ 74.029747][ T5318] ? trace_irq_disable+0x3b/0x150 [ 74.029764][ T5318] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.029775][ T5318] ? clear_bhb_loop+0x40/0x90 [ 74.029799][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.029818][ T5318] RIP: 0033:0x7fabd739c799 [ 74.029830][ T5318] Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 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 e8 ff ff ff f7 d8 64 89 01 48 [ 74.029841][ T5318] RSP: 002b:00007fabd82d4fe8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 74.029858][ T5318] RAX: ffffffffffffffda RBX: 00007fabd7615fa0 RCX: 00007fabd739c799 [ 74.029866][ T5318] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fabd828b000 [ 74.029875][ T5318] RBP: 00007fabd7432c99 R08: 0000000000000000 R09: 0000000000000000 [ 74.029882][ T5318] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 74.029889][ T5318] R13: 00007fabd7616038 R14: 00007fabd7615fa0 R15: 00007ffccfc65b18 [ 74.029909][ T5318]