program: r0 = syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r1 = socket$inet_mptcp(0x2, 0x1, 0x106) bind$inet(r1, &(0x7f0000003900)={0x2, 0x4e24, @multicast1}, 0x10) connect$inet(r1, &(0x7f0000000480)={0x2, 0x4e24, @broadcast}, 0x10) shutdown(r1, 0x1) ioctl$sock_SIOCOUTQ(r1, 0x5411, &(0x7f0000000200)) r2 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) r4 = socket(0x10, 0x3, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r5, 0x8933, &(0x7f0000000240)={'veth0_virt_wifi\x00', 0x0}) setsockopt$inet_buf(r1, 0x0, 0x20, &(0x7f0000000280)="f96c5e7a2a3214c82eaac69611f1837977c53ff5fed1272cf69b96327b54a563e214c8208743e112f2a8738d142329f9ed6e327c0910725f4c174a978aa99678da1f7ed519204c683938a8c9ac23a0dabef9c6d69f7b3ca16748a8e025dd8483e88b6265b11f0ad1877b1a2571301f78b48839ba43c6c612472ee8db0c02ed803f52acc487920ac3d55b33575c11a7e3cfb4b49de6dd2ac0e6640ecc03905d311ba55aca76e0208ed7289facc949760d194e1afb234fb5", 0xb7) sendmsg$nl_route_sched(r4, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=@newqdisc={0x8c, 0x24, 0xf0b, 0x70bd26, 0x0, {0x0, 0x0, 0x0, r6, {0x0, 0xffff}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_mqprio={{0xb}, {0x5c, 0x2, {{0x1, [], 0x0, [0x1, 0x2, 0xfffe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5c4, 0x0, 0x0, 0x0, 0x3dc], [0x0, 0x4, 0x0, 0xfffe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000]}, [@TCA_MQPRIO_MAX_RATE64={0x4}]}}}]}, 0x8c}, 0x1, 0x0, 0x0, 0x4004040}, 0x20000000) io_submit(r3, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r2, &(0x7f0000000000), 0x70000}]) r7 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000100), 0x111000, 0x0) r8 = creat(&(0x7f0000000080)='./file1\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r9, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r8, &(0x7f0000000000), 0x7f000, 0x4000}]) ppoll(&(0x7f0000000140)=[{r1, 0x1000}, {r0, 0x8480}, {r8, 0x4602}, {r1, 0x1006}, {r2, 0xd000}, {r7, 0x402}, {r2, 0x4420}, {r2, 0x80}, {r2, 0x2411}], 0x9, &(0x7f00000001c0)={0x77359400}, &(0x7f0000000240)={[0x6]}, 0x8) [ 75.657840][ T47] Bluetooth: hci0: command tx timeout [ 75.727943][ T5335] loop0: detected capacity change from 0 to 1024 [ 75.876740][ T5335] [ 75.877888][ T5335] ====================================================== [ 75.880892][ T5335] WARNING: possible circular locking dependency detected [ 75.883702][ T5335] syzkaller #0 Not tainted [ 75.885493][ T5335] ------------------------------------------------------ [ 75.888438][ T5335] syz.0.0/5335 is trying to acquire lock: [ 75.890936][ T5335] ffff88801ee3c0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 75.895163][ T5335] [ 75.895163][ T5335] but task is already holding lock: [ 75.897768][ T5335] ffff88801258f048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2a0/0xc10 [ 75.901915][ T5335] [ 75.901915][ T5335] which lock already depends on the new lock. [ 75.901915][ T5335] [ 75.906226][ T5335] [ 75.906226][ T5335] the existing dependency chain (in reverse order) is: [ 75.910537][ T5335] [ 75.910537][ T5335] -> #1 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 75.914895][ T5335] __mutex_lock+0x187/0x1350 [ 75.917177][ T5335] hfsplus_file_extend+0x1f8/0x1c30 [ 75.919670][ T5335] hfsplus_bmap_reserve+0x125/0x510 [ 75.922128][ T5335] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.924890][ T5335] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.927770][ T5335] hfsplus_file_extend+0x437/0x1c30 [ 75.930238][ T5335] hfsplus_get_block+0x40a/0x1600 [ 75.932746][ T5335] __block_write_begin_int+0x6b5/0x1900 [ 75.935690][ T5335] cont_write_begin+0x78c/0xb50 [ 75.938740][ T5335] hfsplus_write_begin+0x66/0xb0 [ 75.941125][ T5335] generic_perform_write+0x2c5/0x900 [ 75.943656][ T5335] generic_file_write_iter+0x117/0x550 [ 75.946319][ T5335] aio_write+0x535/0x7a0 [ 75.948520][ T5335] io_submit_one+0x775/0x1430 [ 75.950767][ T5335] __se_sys_io_submit+0x185/0x320 [ 75.953182][ T5335] do_syscall_64+0xec/0xf80 [ 75.955410][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.958213][ T5335] [ 75.958213][ T5335] -> #0 (&tree->tree_lock/1){+.+.}-{4:4}: [ 75.961776][ T5335] __lock_acquire+0x15a6/0x2cf0 [ 75.964299][ T5335] lock_acquire+0x107/0x340 [ 75.966748][ T5335] __mutex_lock+0x187/0x1350 [ 75.969351][ T5335] hfsplus_find_init+0x168/0x2d0 [ 75.971818][ T5335] hfsplus_file_truncate+0x387/0xc10 [ 75.974352][ T5335] hfsplus_setattr+0x1c4/0x270 [ 75.976691][ T5335] notify_change+0xc1a/0xf40 [ 75.979011][ T5335] do_truncate+0x1a4/0x220 [ 75.981337][ T5335] path_openat+0x359d/0x3dd0 [ 75.983620][ T5335] do_filp_open+0x1fa/0x410 [ 75.985880][ T5335] do_sys_openat2+0x121/0x200 [ 75.988178][ T5335] __x64_sys_creat+0x8f/0xc0 [ 75.990468][ T5335] do_syscall_64+0xec/0xf80 [ 75.993006][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.996217][ T5335] [ 75.996217][ T5335] other info that might help us debug this: [ 75.996217][ T5335] [ 76.002199][ T5335] Possible unsafe locking scenario: [ 76.002199][ T5335] [ 76.006048][ T5335] CPU0 CPU1 [ 76.008352][ T5335] ---- ---- [ 76.010806][ T5335] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.013543][ T5335] lock(&tree->tree_lock/1); [ 76.016909][ T5335] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.020559][ T5335] lock(&tree->tree_lock/1); [ 76.022592][ T5335] [ 76.022592][ T5335] *** DEADLOCK *** [ 76.022592][ T5335] [ 76.026141][ T5335] 3 locks held by syz.0.0/5335: [ 76.028135][ T5335] #0: ffff888011174420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 76.032177][ T5335] #1: ffff88801258f238 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: do_truncate+0x171/0x220 [ 76.036505][ T5335] #2: ffff88801258f048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2a0/0xc10 [ 76.041393][ T5335] [ 76.041393][ T5335] stack backtrace: [ 76.044474][ T5335] CPU: 0 UID: 0 PID: 5335 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 76.044493][ T5335] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 76.044502][ T5335] Call Trace: [ 76.044511][ T5335] [ 76.044518][ T5335] dump_stack_lvl+0xe8/0x150 [ 76.044538][ T5335] print_circular_bug+0x2e2/0x300 [ 76.044557][ T5335] check_noncircular+0x12e/0x150 [ 76.044574][ T5335] __lock_acquire+0x15a6/0x2cf0 [ 76.044588][ T5335] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 76.044605][ T5335] ? lockdep_hardirqs_on+0x7b/0x110 [ 76.044615][ T5335] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 76.044643][ T5335] ? stack_depot_save_flags+0x3f3/0x810 [ 76.044664][ T5335] ? hfsplus_find_init+0x168/0x2d0 [ 76.044682][ T5335] lock_acquire+0x107/0x340 [ 76.044692][ T5335] ? hfsplus_find_init+0x168/0x2d0 [ 76.044709][ T5335] __mutex_lock+0x187/0x1350 [ 76.044720][ T5335] ? hfsplus_find_init+0x168/0x2d0 [ 76.044739][ T5335] ? hfsplus_find_init+0x168/0x2d0 [ 76.044754][ T5335] ? __pfx___mutex_lock+0x10/0x10 [ 76.044766][ T5335] ? rcu_is_watching+0x15/0xb0 [ 76.044779][ T5335] ? trace_kmalloc+0x1f/0xb0 [ 76.044794][ T5335] ? __kmalloc_noprof+0x43e/0x800 [ 76.044809][ T5335] ? hfsplus_find_init+0x8c/0x2d0 [ 76.044826][ T5335] hfsplus_find_init+0x168/0x2d0 [ 76.044842][ T5335] hfsplus_file_truncate+0x387/0xc10 [ 76.044859][ T5335] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 76.044873][ T5335] ? unmap_mapping_range+0xde/0x170 [ 76.044885][ T5335] ? __pfx_unmap_mapping_range+0x10/0x10 [ 76.044898][ T5335] ? truncate_setsize+0xcf/0xf0 [ 76.044912][ T5335] hfsplus_setattr+0x1c4/0x270 [ 76.044924][ T5335] ? __pfx_hfsplus_setattr+0x10/0x10 [ 76.044935][ T5335] notify_change+0xc1a/0xf40 [ 76.044955][ T5335] do_truncate+0x1a4/0x220 [ 76.044971][ T5335] ? __pfx_do_truncate+0x10/0x10 [ 76.044985][ T5335] ? apparmor_file_truncate+0x23e/0x2d0 [ 76.045007][ T5335] path_openat+0x359d/0x3dd0 [ 76.045062][ T5335] ? __pfx_path_openat+0x10/0x10 [ 76.045084][ T5335] do_filp_open+0x1fa/0x410 [ 76.045101][ T5335] ? __pfx_do_filp_open+0x10/0x10 [ 76.045122][ T5335] ? _raw_spin_unlock+0x28/0x50 [ 76.045138][ T5335] ? alloc_fd+0x64c/0x6c0 [ 76.045151][ T5335] do_sys_openat2+0x121/0x200 [ 76.045165][ T5335] ? __se_sys_futex+0x36f/0x400 [ 76.045184][ T5335] ? __pfx_do_sys_openat2+0x10/0x10 [ 76.045200][ T5335] ? rcu_is_watching+0x15/0xb0 [ 76.045216][ T5335] __x64_sys_creat+0x8f/0xc0 [ 76.045230][ T5335] do_syscall_64+0xec/0xf80 [ 76.045243][ T5335] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.045253][ T5335] ? trace_irq_disable+0x37/0x100 [ 76.045270][ T5335] ? clear_bhb_loop+0x60/0xb0 [ 76.045283][ T5335] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.045296][ T5335] RIP: 0033:0x7f79f4f8f7c9 [ 76.045309][ 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 [ 76.045319][ T5335] RSP: 002b:00007f79f5e81038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 76.045332][ T5335] RAX: ffffffffffffffda RBX: 00007f79f51e5fa0 RCX: 00007f79f4f8f7c9 [ 76.045340][ T5335] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000080 [ 76.045348][ T5335] RBP: 00007f79f5013f91 R08: 0000000000000000 R09: 0000000000000000 [ 76.045355][ T5335] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 76.045363][ T5335] R13: 00007f79f51e6038 R14: 00007f79f51e5fa0 R15: 00007ffd0352fe98 [ 76.045376][ T5335]