program: mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) setresgid(r1, 0x0, r1) r2 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000040), 0x42, 0x0) mount$fuse(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r2, @ANYBLOB=',rootmode=0000000000000000040000,user_id=', @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000000), 0x8002, 0x0) ioctl$TIOCSETD(r3, 0x5423, &(0x7f00000003c0)=0x14) ioctl$TIOCSETD(r3, 0x5423, &(0x7f0000000040)=0x1b) perf_event_open(&(0x7f0000000040)={0x2, 0x80, 0xcb, 0x1, 0x0, 0x0, 0x0, 0x4, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffd, 0x0, @perf_bp={0x0, 0x8}, 0x11fd61, 0x0, 0x0, 0x2, 0x0, 0xfffffe, 0xfffc, 0x0, 0x0, 0x0, 0x403}, 0x0, 0x0, 0xffffffffffffffff, 0x1) 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}]) prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000001000/0x4000)=nil) munmap(&(0x7f0000002000/0x2000)=nil, 0x2000) r6 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='cmdline\x00') preadv(r6, &(0x7f0000000040)=[{&(0x7f0000000080)=""/4097, 0x1006}], 0x1, 0x0, 0x0) r7 = add_key$user(&(0x7f00000003c0), &(0x7f0000000440), &(0x7f00000000c0), 0x155c, 0xfffffffffffffffd) r8 = add_key$user(&(0x7f00000003c0), &(0x7f0000000440), &(0x7f00000000c0), 0x5ba8, 0xfffffffffffffffd) r9 = add_key$user(&(0x7f00000003c0), &(0x7f0000000440), &(0x7f00000000c0), 0x5ba8, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000240)={r7, r8, r9}, 0x0, 0x0, 0x0) ioctl$TIOCVHANGUP(r3, 0x5437, 0x2) mkdirat(0xffffffffffffff9c, &(0x7f0000000040)='./file1\x00', 0x0) mkdir(&(0x7f0000000540)='./bus\x00', 0x0) mount$overlay(0x0, &(0x7f00000000c0)='./bus\x00', &(0x7f0000000080), 0x100480, &(0x7f00000010c0)={[{@upperdir={'upperdir', 0x3d, './file0/../file0/file0'}}, {@workdir={'workdir', 0x3d, './bus'}}, {@lowerdir={'lowerdir', 0x3d, './file0'}}]}) chdir(&(0x7f00000000c0)='./bus\x00') socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r10, &(0x7f0000000e80)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}, {{&(0x7f0000000640)=@file={0x1, './file0/../file0\x00'}, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x4004000}}], 0x2, 0x0) creat(&(0x7f0000000100)='./file1\x00', 0x10e) [ 74.538441][ T4686] Bluetooth: hci0: command tx timeout [ 74.678350][ T5337] loop0: detected capacity change from 0 to 1024 [ 74.835580][ T5337] [ 74.836701][ T5337] ====================================================== [ 74.839592][ T5337] WARNING: possible circular locking dependency detected [ 74.842513][ T5337] 6.16.0-rc5-syzkaller #0 Not tainted [ 74.844529][ T5337] ------------------------------------------------------ [ 74.847523][ T5337] syz.0.0/5337 is trying to acquire lock: [ 74.849857][ T5337] ffff88801eaee0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 74.853868][ T5337] [ 74.853868][ T5337] but task is already holding lock: [ 74.856645][ T5337] ffff888053313048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 74.861224][ T5337] [ 74.861224][ T5337] which lock already depends on the new lock. [ 74.861224][ T5337] [ 74.865560][ T5337] [ 74.865560][ T5337] the existing dependency chain (in reverse order) is: [ 74.869352][ T5337] [ 74.869352][ T5337] -> #1 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 74.873104][ T5337] lock_acquire+0x120/0x360 [ 74.875311][ T5337] __mutex_lock+0x182/0xe80 [ 74.877414][ T5337] hfsplus_file_extend+0x1fc/0x1990 [ 74.879585][ T5337] hfsplus_bmap_reserve+0x122/0x500 [ 74.881989][ T5337] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 74.884652][ T5337] __hfsplus_ext_cache_extent+0x89/0xe30 [ 74.887243][ T5337] hfsplus_file_extend+0x444/0x1990 [ 74.889913][ T5337] hfsplus_get_block+0x411/0x1530 [ 74.892161][ T5337] __block_write_begin_int+0x6b5/0x1900 [ 74.894540][ T5337] cont_write_begin+0x789/0xb50 [ 74.896691][ T5337] hfsplus_write_begin+0x66/0xb0 [ 74.898830][ T5337] generic_perform_write+0x2c7/0x910 [ 74.901417][ T5337] generic_file_write_iter+0x10f/0x540 [ 74.903828][ T5337] aio_write+0x532/0x7a0 [ 74.905809][ T5337] io_submit_one+0x78b/0x1310 [ 74.907944][ T5337] __se_sys_io_submit+0x185/0x2f0 [ 74.910283][ T5337] do_syscall_64+0xfa/0x3b0 [ 74.912352][ T5337] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.914850][ T5337] [ 74.914850][ T5337] -> #0 (&tree->tree_lock/1){+.+.}-{4:4}: [ 74.918950][ T5337] validate_chain+0xb9b/0x2140 [ 74.921081][ T5337] __lock_acquire+0xab9/0xd20 [ 74.922911][ T5337] lock_acquire+0x120/0x360 [ 74.924779][ T5337] __mutex_lock+0x182/0xe80 [ 74.926810][ T5337] hfsplus_find_init+0x15a/0x1d0 [ 74.928665][ T5337] hfsplus_file_truncate+0x383/0xb40 [ 74.930759][ T5337] hfsplus_setattr+0x1c4/0x270 [ 74.932777][ T5337] notify_change+0xb36/0xe40 [ 74.934856][ T5337] do_truncate+0x1a4/0x220 [ 74.936723][ T5337] path_openat+0x306c/0x3830 [ 74.938894][ T5337] do_filp_open+0x1fa/0x410 [ 74.941207][ T5337] do_sys_openat2+0x121/0x1c0 [ 74.943263][ T5337] __x64_sys_creat+0x8f/0xc0 [ 74.945197][ T5337] do_syscall_64+0xfa/0x3b0 [ 74.947077][ T5337] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.949287][ T5337] [ 74.949287][ T5337] other info that might help us debug this: [ 74.949287][ T5337] [ 74.952982][ T5337] Possible unsafe locking scenario: [ 74.952982][ T5337] [ 74.956007][ T5337] CPU0 CPU1 [ 74.957879][ T5337] ---- ---- [ 74.959969][ T5337] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.962452][ T5337] lock(&tree->tree_lock/1); [ 74.965482][ T5337] lock(&HFSPLUS_I(inode)->extents_lock); [ 74.968573][ T5337] lock(&tree->tree_lock/1); [ 74.970483][ T5337] [ 74.970483][ T5337] *** DEADLOCK *** [ 74.970483][ T5337] [ 74.973775][ T5337] 3 locks held by syz.0.0/5337: [ 74.975877][ T5337] #0: ffff88801bf90428 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 74.979593][ T5337] #1: ffff888053313238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: do_truncate+0x171/0x220 [ 74.984359][ T5337] #2: ffff888053313048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 74.988463][ T5337] [ 74.988463][ T5337] stack backtrace: [ 74.990740][ T5337] CPU: 0 UID: 0 PID: 5337 Comm: syz.0.0 Not tainted 6.16.0-rc5-syzkaller #0 PREEMPT(full) [ 74.990793][ T5337] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 74.990808][ T5337] Call Trace: [ 74.990855][ T5337] [ 74.990861][ T5337] dump_stack_lvl+0x189/0x250 [ 74.990875][ T5337] ? __pfx_dump_stack_lvl+0x10/0x10 [ 74.990885][ T5337] ? __pfx__printk+0x10/0x10 [ 74.990895][ T5337] ? print_lock_name+0xde/0x100 [ 74.990905][ T5337] print_circular_bug+0x2ee/0x310 [ 74.990938][ T5337] check_noncircular+0x134/0x160 [ 74.990950][ T5337] validate_chain+0xb9b/0x2140 [ 74.990959][ T5337] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 74.990969][ T5337] ? __pfx__raw_spin_unlock_irqrestore+0x10/0x10 [ 74.990982][ T5337] __lock_acquire+0xab9/0xd20 [ 74.990990][ T5337] ? hfsplus_find_init+0x15a/0x1d0 [ 74.991001][ T5337] lock_acquire+0x120/0x360 [ 74.991011][ T5337] ? hfsplus_find_init+0x15a/0x1d0 [ 74.991026][ T5337] __mutex_lock+0x182/0xe80 [ 74.991068][ T5337] ? hfsplus_find_init+0x15a/0x1d0 [ 74.991079][ T5337] ? hfsplus_find_init+0x15a/0x1d0 [ 74.991087][ T5337] ? __pfx___mutex_lock+0x10/0x10 [ 74.991095][ T5337] ? rcu_is_watching+0x15/0xb0 [ 74.991105][ T5337] ? __kmalloc_noprof+0x29b/0x4f0 [ 74.991114][ T5337] ? hfsplus_find_init+0x8c/0x1d0 [ 74.991122][ T5337] hfsplus_find_init+0x15a/0x1d0 [ 74.991170][ T5337] hfsplus_file_truncate+0x383/0xb40 [ 74.991184][ T5337] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 74.991195][ T5337] ? unmap_mapping_range+0xde/0x170 [ 74.991202][ T5337] ? __pfx_unmap_mapping_range+0x10/0x10 [ 74.991210][ T5337] ? truncate_setsize+0xcf/0xf0 [ 74.991219][ T5337] hfsplus_setattr+0x1c4/0x270 [ 74.991228][ T5337] ? __pfx_hfsplus_setattr+0x10/0x10 [ 74.991239][ T5337] notify_change+0xb36/0xe40 [ 74.991249][ T5337] do_truncate+0x1a4/0x220 [ 74.991258][ T5337] ? __pfx_do_truncate+0x10/0x10 [ 74.991266][ T5337] ? apparmor_file_truncate+0x23e/0x2d0 [ 74.991277][ T5337] path_openat+0x306c/0x3830 [ 74.991284][ T5337] ? arch_stack_walk+0xfc/0x150 [ 74.991297][ T5337] ? __pfx_path_openat+0x10/0x10 [ 74.991303][ T5337] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.991318][ T5337] do_filp_open+0x1fa/0x410 [ 74.991326][ T5337] ? __lock_acquire+0xab9/0xd20 [ 74.991337][ T5337] ? __pfx_do_filp_open+0x10/0x10 [ 74.991352][ T5337] ? _raw_spin_unlock+0x28/0x50 [ 74.991365][ T5337] ? alloc_fd+0x64c/0x6c0 [ 74.991376][ T5337] do_sys_openat2+0x121/0x1c0 [ 74.991392][ T5337] ? __pfx_do_sys_openat2+0x10/0x10 [ 74.991409][ T5337] ? rcu_is_watching+0x15/0xb0 [ 74.991422][ T5337] __x64_sys_creat+0x8f/0xc0 [ 74.991432][ T5337] do_syscall_64+0xfa/0x3b0 [ 74.991441][ T5337] ? lockdep_hardirqs_on+0x9c/0x150 [ 74.991451][ T5337] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.991457][ T5337] ? clear_bhb_loop+0x60/0xb0 [ 74.991465][ T5337] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 74.991472][ T5337] RIP: 0033:0x7fe231d8e929 [ 74.991511][ T5337] 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.991519][ T5337] RSP: 002b:00007fe232c00038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 74.991528][ T5337] RAX: ffffffffffffffda RBX: 00007fe231fb5fa0 RCX: 00007fe231d8e929 [ 74.991534][ T5337] RDX: 0000000000000000 RSI: 000000000000010e RDI: 0000200000000100 [ 74.991539][ T5337] RBP: 00007fe231e10b39 R08: 0000000000000000 R09: 0000000000000000 [ 74.991544][ T5337] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 74.991549][ T5337] R13: 0000000000000000 R14: 00007fe231fb5fa0 R15: 00007ffdef750dd8 [ 74.991557][ T5337]