program: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000040), 0x2, 0x0) r1 = openat$sequencer(0xffffffffffffff9c, &(0x7f0000000000), 0x230401, 0x0) dup2(r0, r1) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x5) r2 = socket$inet_tcp(0x2, 0x1, 0x0) openat$binderfs(0xffffffffffffff9c, &(0x7f00000000c0)='./binderfs/binder0\x00', 0x800, 0x0) setsockopt$inet_tcp_int(r2, 0x6, 0x20, &(0x7f0000000040)=0x2, 0xf6) write$uinput_user_dev(r0, &(0x7f0000000980)={'syz0\x00', {}, 0x0, [0x0, 0x0, 0x0, 0x10001, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffff9, 0x0, 0x0, 0x0, 0xfffffffd, 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, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x81], [0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0xffffffff, 0x4, 0x0, 0x2, 0x53650, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2000, 0x0, 0x0, 0xffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x180000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x55f8, 0x0, 0x0, 0x4, 0x3], [0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea77, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x400, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff], [0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffff01, 0x2, 0x0, 0x0, 0x9, 0x0, 0x7, 0x8, 0x0, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x200000, 0x0, 0x0, 0x0, 0x0, 0x100000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffe]}, 0x45c) r3 = socket$netlink(0x10, 0x3, 0x0) syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@part={'part', 0x3d, 0x40}}, {@nodecompose}, {@part={'part', 0x3d, 0x7}}, {@part={'part', 0x3d, 0xc}}, {@uid}, {@barrier}, {@nls={'nls', 0x3d, 'macinuit'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x5f4, &(0x7f0000000640)="$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") r4 = openat$dir(0xffffffffffffff9c, &(0x7f0000000300)='.\x00', 0x2000, 0x12) getdents64(r4, &(0x7f0000000100)=""/154, 0x9a) unlinkat(0xffffffffffffff9c, &(0x7f00000003c0)='./file2\x00', 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000200)=@newtaction={0x5c, 0x30, 0xffffffffffffffff, 0x0, 0x0, {}, [{0x48, 0x1, [@m_bpf={0x44, 0x1, 0x0, 0x0, {{0x8}, {0x1c, 0x2, 0x0, 0x1, [@TCA_ACT_BPF_PARMS={0x18, 0x2, {0x0, 0x0, 0xe4ffffff}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x5c}}, 0x0) ioctl$UI_SET_SWBIT(r0, 0x4004556d, 0x10) ioctl$UI_DEV_SETUP(r0, 0x5501, 0x0) r5 = bpf$MAP_CREATE(0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="0a00000005000000020000000700000000000000", @ANYRES32, @ANYBLOB='\x00'/20, @ANYRES32=0x0, @ANYRES32, @ANYBLOB='\x00'/28], 0x48) bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0x0, 0xc, &(0x7f00000004c0)=ANY=[@ANYBLOB="180000000000000000000000000000001811000098f6936e0a062489d777922b98902cbe81602d73bac2a0000043ec9a373d287c321bdfa050d72728eb55192e03c8bae308b29d7bf2d5c5cd1d0a67dabca1ceb3aab9bd6b049fd0f8d0c83a0a08326dddb3d393e9e89b3859f83894f8a162149df4fc28c91a59f3c2d90be143c2f9799268af0879b610d415c2733390165da88900f907f8649fa32cce9aa58818f55a5de53c11b6a29edf901057414c6dbae3ab6eb8", @ANYRES32=r5, @ANYBLOB="0000000000000000b7080000000000007b8af8ff00000000bfa200000000000007020000f8ffffffb703000008000000b70400000000000085000000030000009500000000000000"], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, @fallback, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0}, 0x90) r6 = bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0x11, 0xc, &(0x7f0000000440)=ANY=[], &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, @fallback, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x90) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000bc0)={&(0x7f0000000040)='leases_conflict\x00', r6}, 0x10) r7 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r7, &(0x7f0000000000)={0x0, 0xd18c9b25, &(0x7f0000000080)=[{&(0x7f0000000040)="e03f030041000b05d25a806c8c6394f90324fc60100000000a000200053582c137153e3704020180fc5409000c00", 0x33fe0}], 0x1}, 0x0) r8 = bpf$PROG_LOAD(0x5, &(0x7f00000000c0)={0x11, 0xc, &(0x7f0000000440)=ANY=[], &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, @fallback, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x90) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000bc0)={&(0x7f0000000040)='leases_conflict\x00', r8}, 0x10) r9 = openat(0xffffffffffffff9c, &(0x7f0000000080)='./file1\x00', 0x2040, 0x0) fcntl$setlease(r9, 0x400, 0x0) fsetxattr$trusted_overlay_redirect(r9, 0x0, 0x0, 0x0, 0x0) unlink(&(0x7f0000000100)='./file1\x00') ioctl$UI_DEV_SETUP(r0, 0x405c5503, &(0x7f0000000080)={{0x5, 0xec90, 0xc5d, 0x7}, 'syz0\x00', 0x2e}) getsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(r9, 0x84, 0x13, &(0x7f0000000280)={0x0, 0x7ff}, &(0x7f00000002c0)=0x8) [ 76.077439][ T5333] Bluetooth: hci0: command tx timeout [ 76.164947][ T5356] loop0: detected capacity change from 0 to 1024 [ 76.230647][ T5356] input: syz0 as /devices/virtual/input/input5 [ 76.255620][ T5356] netlink: 212408 bytes leftover after parsing attributes in process `syz.0.0'. [ 76.259729][ T5356] netlink: zone id is out of range [ 76.261993][ T5356] netlink: zone id is out of range [ 76.273338][ T5356] netlink: zone id is out of range [ 76.275507][ T5356] netlink: zone id is out of range [ 76.278537][ T5356] netlink: zone id is out of range [ 76.280778][ T5356] netlink: get zone limit has 8 unknown bytes [ 76.291162][ T5355] hfsplus: invalid extended attribute record [ 76.295707][ T5355] [ 76.296771][ T5355] ============================================ [ 76.299400][ T5355] WARNING: possible recursive locking detected [ 76.301978][ T5355] 6.16.0-syzkaller-11322-g352af6a011d5 #0 Not tainted [ 76.304968][ T5355] -------------------------------------------- [ 76.307706][ T5355] syz.0.0/5355 is trying to acquire lock: [ 76.310193][ T5355] ffff888053259548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1530 [ 76.314937][ T5355] [ 76.314937][ T5355] but task is already holding lock: [ 76.318019][ T5355] ffff88805325b048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 76.322411][ T5355] [ 76.322411][ T5355] other info that might help us debug this: [ 76.325854][ T5355] Possible unsafe locking scenario: [ 76.325854][ T5355] [ 76.328933][ T5355] CPU0 [ 76.330417][ T5355] ---- [ 76.331880][ T5355] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.334266][ T5355] lock(&HFSPLUS_I(inode)->extents_lock); [ 76.336689][ T5355] [ 76.336689][ T5355] *** DEADLOCK *** [ 76.336689][ T5355] [ 76.340039][ T5355] May be due to missing lock nesting notation [ 76.340039][ T5355] [ 76.343383][ T5355] 3 locks held by syz.0.0/5355: [ 76.345631][ T5355] #0: ffff88805325b238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: hfsplus_file_release+0xe2/0x3e0 [ 76.350193][ T5355] #1: ffff88805325b048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 76.354740][ T5355] #2: ffff8880532450f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xbe/0x550 [ 76.358725][ T5355] [ 76.358725][ T5355] stack backtrace: [ 76.361295][ T5355] CPU: 0 UID: 0 PID: 5355 Comm: syz.0.0 Not tainted 6.16.0-syzkaller-11322-g352af6a011d5 #0 PREEMPT(full) [ 76.361318][ T5355] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 76.361329][ T5355] Call Trace: [ 76.361339][ T5355] [ 76.361347][ T5355] dump_stack_lvl+0x189/0x250 [ 76.361372][ T5355] ? __pfx_dump_stack_lvl+0x10/0x10 [ 76.361390][ T5355] ? __pfx__printk+0x10/0x10 [ 76.361412][ T5355] ? print_lock_name+0xde/0x100 [ 76.361433][ T5355] print_deadlock_bug+0x28b/0x2a0 [ 76.361449][ T5355] validate_chain+0x1a3f/0x2140 [ 76.361461][ T5355] ? lock_release+0x4b/0x3e0 [ 76.361475][ T5355] ? look_up_lock_class+0x74/0x170 [ 76.361548][ T5355] ? register_lock_class+0x51/0x320 [ 76.361563][ T5355] __lock_acquire+0xab9/0xd20 [ 76.361578][ T5355] ? hfsplus_get_block+0x39e/0x1530 [ 76.361589][ T5355] lock_acquire+0x120/0x360 [ 76.361602][ T5355] ? hfsplus_get_block+0x39e/0x1530 [ 76.361612][ T5355] ? stack_trace_save+0x9c/0xe0 [ 76.361625][ T5355] ? __pfx_hlock_conflict+0x10/0x10 [ 76.361636][ T5355] __mutex_lock+0x187/0x1360 [ 76.361647][ T5355] ? hfsplus_get_block+0x39e/0x1530 [ 76.361657][ T5355] ? lockdep_unlock+0x89/0x120 [ 76.361671][ T5355] ? hfsplus_get_block+0x39e/0x1530 [ 76.361680][ T5355] ? __pfx___mutex_lock+0x10/0x10 [ 76.361694][ T5355] hfsplus_get_block+0x39e/0x1530 [ 76.361705][ T5355] ? __pfx_hfsplus_get_block+0x10/0x10 [ 76.361714][ T5355] ? do_raw_spin_unlock+0x4d/0x240 [ 76.361727][ T5355] ? _raw_spin_unlock+0x28/0x50 [ 76.361742][ T5355] block_read_full_folio+0x29c/0x830 [ 76.361753][ T5355] ? __pfx_hfsplus_get_block+0x10/0x10 [ 76.361763][ T5355] filemap_read_folio+0x117/0x380 [ 76.361781][ T5355] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 76.361797][ T5355] ? __pfx_filemap_read_folio+0x10/0x10 [ 76.361812][ T5355] ? filemap_add_folio+0x1af/0x270 [ 76.361826][ T5355] do_read_cache_folio+0x350/0x590 [ 76.361842][ T5355] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 76.361857][ T5355] read_cache_page+0x5d/0x170 [ 76.361873][ T5355] hfsplus_block_free+0x121/0x550 [ 76.361889][ T5355] hfsplus_free_extents+0x10d/0xa60 [ 76.361901][ T5355] hfsplus_file_truncate+0x736/0xb40 [ 76.361914][ T5355] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 76.361926][ T5355] ? down_write+0x162/0x1f0 [ 76.361937][ T5355] ? __pfx_down_write+0x10/0x10 [ 76.361948][ T5355] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 76.361991][ T5355] hfsplus_file_release+0x303/0x3e0 [ 76.362003][ T5355] ? __pfx_hfsplus_file_release+0x10/0x10 [ 76.362011][ T5355] __fput+0x449/0xa70 [ 76.362029][ T5355] task_work_run+0x1d1/0x260 [ 76.362045][ T5355] ? __pfx_task_work_run+0x10/0x10 [ 76.362058][ T5355] ? exit_to_user_mode_loop+0x40/0x110 [ 76.362073][ T5355] exit_to_user_mode_loop+0xec/0x110 [ 76.362088][ T5355] do_syscall_64+0x2bd/0x3b0 [ 76.362099][ T5355] ? lockdep_hardirqs_on+0x9c/0x150 [ 76.362114][ T5355] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.362124][ T5355] ? clear_bhb_loop+0x60/0xb0 [ 76.362135][ T5355] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 76.362146][ T5355] RIP: 0033:0x7f6ca798eb69 [ 76.362158][ T5355] 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.362166][ T5355] RSP: 002b:00007ffdad58b978 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 [ 76.362178][ T5355] RAX: 0000000000000000 RBX: 00000000000128ad RCX: 00007f6ca798eb69 [ 76.362185][ T5355] RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 [ 76.362191][ T5355] RBP: 00007f6ca7bb7ba0 R08: 0000000000000001 R09: 0000001ead58bc6f [ 76.362197][ T5355] R10: 00007f6ca77ff02c R11: 0000000000000246 R12: 00007f6ca7bb5fac [ 76.362203][ T5355] R13: 00007f6ca7bb5fa0 R14: ffffffffffffffff R15: 00007ffdad58ba90 [ 76.362213][ T5355] [ 76.518503][ T1316] ieee802154 phy0 wpan0: encryption failed: -22 [ 76.521208][ T1316] ieee802154 phy1 wpan1: encryption failed: -22 [ 76.530976][ T5355] hfsplus: unable to mark blocks free: error -5 [ 76.535591][ T5355] hfsplus: can't free extent