program: read$FUSE(0xffffffffffffffff, &(0x7f0000000c40)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) syz_mount_image$hfsplus(&(0x7f0000000000), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@part={'part', 0x3d, 0x40}}, {@nodecompose}, {@part={'part', 0x3d, 0x7}}, {@part={'part', 0x3d, 0xc}}, {@gid={'gid', 0x3d, r0}}, {@barrier}, {@nls={'nls', 0x3d, 'macinuit'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x601, &(0x7f0000002c80)="$eJzs3c9rHOcdB+DPrFay1wVHSewkLS0V9qElprZWmzg6FOqWUnQIJdBLLjkIW46F10qQNkUJpcj9ee1/kJQin3vqofRgSM+99ijoIYdC77q5zOystLYVRYok7yp5Hnj3fWfemXfe9+uZd3dmLTbA19bC25l8mCILV95cL5e3Njvdrc3OvUE5yZkkjaTZz1KsJMWnyY30U75ZrqybKz7vOO98/Mb8Z+0H95Oi2W+rOdi+sd9+B7NRp8wkmajz42rv5pHbK3ZGWAbs8iBwMGqPnrJxmN2PeN0C42w6OZfkbP05IPXs0Bhxt47sULMcAAAAnFLPbWc76zk/6n4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAaVIkE/2sSo1BeSbF4Pf/p+p1qcun2sNRdwAAAAAAAAAAjsF3t7Od9ZwfLD8qqu/8L1ULF6rXb+SDrGUpq7ma9Syml15W004yPdTQ1Ppir7fa3nvPycFWvRTJxuNd6O85d7LjBAAAAAAAAICvuN9kYff7fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAdFMtHPqnRhUJ5Oo5nkbJKpcruN5B+D8mn2cNQdAAAAgGfgue1sZz3nB8uPiuqe/6Xqvv9sPshKellOL90s5Vb1LKB/19/Y2ux0tzY798r0dLs//t+hulG1mP6zh72PPFttcXFnj4X8LL/IlczkraxmOb/MYnpZykx+WpUWU2S6fnoxPejn3v298djSW1/U11eqnrRyO8tV367mZt5LN7fSqMZQbbP/Ee+X0Sl+VDtgjG7VeTmiP9X5eJiuIjK5E5HZOvZlNJ7fPxKHPE+ePFI7jZ1nUBf+ffwxP1fnZaz/MNYxnxs6+17aP+bJpf985293uit379xeuzI+Q/qSnoxEZygSL3+tIjFVR6M/ix5utrxU7Xs+y/l53sutLOX1zOf1zOW1vJbZzOf6UFwvHmB+axzuWrv8/brQSvLHOh8PZVyfH4rr8Ew3XdUNr+lHqTyZXjj+d4Hmt+pCeYzf1vl4eDIS7aHz5cX9I/HnR+XrWnfl7uqdxfcPeLzv1XkZ6d+P1dxcni8vlP9Y1dLjZ0dZ9+Kede2q7sJOXeOpuos7dV90pU7Vn+Gebmmuqnt5z7pOVffKUN1en3IAGFO732mfe/XcVOu/rX+1Pmn9rnWn9ebZn5yZP/PtqUz+s/n3ib82HjR+WLyaT/Lr3ft/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgy1v78KO7i93BzwB0u0ur/TVfscJfckItt8ZkgAonU2jWV8a49OfZFUY4KQHPxLXevfevrX340Q+W7y2+u/Tu0kqn074+N399fu76tdvL3aXZ/uuouwmcgN03/VH3BAAAAAAAAAAAADioJ//3f+ME/pxg1GMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATreFtzP5MEXas1dny+WtzU63TIPy7pbNJI0kxa+S4tPkRvop00PNFZ93nHc+fmP+s/aD+7ttNQfbN/bb72A26pSZJBN1flzt3Txye8XOCMuAXR4EDkbt/wEAAP//K/0Fnw==") r1 = openat$dir(0xffffffffffffff9c, &(0x7f0000000300)='.\x00', 0x2000, 0x12) getdents64(r1, &(0x7f0000000100)=""/154, 0x9a) syz_open_dev$sndpcmc(&(0x7f0000000080), 0x0, 0x80) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(0xffffffffffffffff, 0xc018937d, &(0x7f00000001c0)={{0x1, 0x1, 0x18, r1, {0x2}}, './file1\x00'}) ioctl$COMEDI_RANGEINFO(r2, 0x80106408, &(0x7f0000000240)={0x7, &(0x7f0000000200)=[{}]}) unlinkat(0xffffffffffffff9c, &(0x7f00000003c0)='./file1\x00', 0x0) [ 85.477119][ T4708] Bluetooth: hci0: command tx timeout [ 85.569487][ T5362] loop0: detected capacity change from 0 to 1024 [ 85.651166][ T5362] hfsplus: invalid extended attribute record [ 85.654692][ T5362] [ 85.655810][ T5362] ============================================ [ 85.658484][ T5362] WARNING: possible recursive locking detected [ 85.661205][ T5362] syzkaller #0 Not tainted [ 85.662899][ T5362] -------------------------------------------- [ 85.665551][ T5362] syz.0.0/5362 is trying to acquire lock: [ 85.667986][ T5362] ffff888052f69548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1530 [ 85.672419][ T5362] [ 85.672419][ T5362] but task is already holding lock: [ 85.675721][ T5362] ffff888052f6a988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 85.680549][ T5362] [ 85.680549][ T5362] other info that might help us debug this: [ 85.683712][ T5362] Possible unsafe locking scenario: [ 85.683712][ T5362] [ 85.686653][ T5362] CPU0 [ 85.688099][ T5362] ---- [ 85.689540][ T5362] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.691830][ T5362] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.694328][ T5362] [ 85.694328][ T5362] *** DEADLOCK *** [ 85.694328][ T5362] [ 85.697724][ T5362] May be due to missing lock nesting notation [ 85.697724][ T5362] [ 85.701198][ T5362] 6 locks held by syz.0.0/5362: [ 85.703173][ T5362] #0: ffff888011dfa428 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 85.706936][ T5362] #1: ffff888052f69df8 (&type->i_mutex_dir_key#8/1){+.+.}-{4:4}, at: do_unlinkat+0x1c7/0x560 [ 85.710987][ T5362] #2: ffff888052f6ab78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: vfs_unlink+0xf2/0x650 [ 85.715293][ T5362] #3: ffff888052f59198 (&sbi->vh_mutex){+.+.}-{4:4}, at: hfsplus_unlink+0x160/0x730 [ 85.718821][ T5362] #4: ffff888052f6a988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 85.723473][ T5362] #5: ffff888052f590f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xbe/0x550 [ 85.727707][ T5362] [ 85.727707][ T5362] stack backtrace: [ 85.730245][ T5362] CPU: 0 UID: 0 PID: 5362 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.730261][ T5362] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 85.730269][ T5362] Call Trace: [ 85.730278][ T5362] [ 85.730284][ T5362] dump_stack_lvl+0x189/0x250 [ 85.730304][ T5362] ? __pfx_dump_stack_lvl+0x10/0x10 [ 85.730317][ T5362] ? __pfx__printk+0x10/0x10 [ 85.730334][ T5362] ? print_lock_name+0xde/0x100 [ 85.730349][ T5362] print_deadlock_bug+0x28b/0x2a0 [ 85.730362][ T5362] validate_chain+0x1a3f/0x2140 [ 85.730373][ T5362] ? lock_release+0x4b/0x3e0 [ 85.730390][ T5362] ? look_up_lock_class+0x74/0x170 [ 85.730444][ T5362] ? register_lock_class+0x51/0x320 [ 85.730461][ T5362] __lock_acquire+0xab9/0xd20 [ 85.730477][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.730488][ T5362] lock_acquire+0x120/0x360 [ 85.730503][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.730515][ T5362] ? stack_trace_save+0x9c/0xe0 [ 85.730527][ T5362] ? __pfx_hlock_conflict+0x10/0x10 [ 85.730538][ T5362] __mutex_lock+0x187/0x1350 [ 85.730554][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.730566][ T5362] ? lockdep_unlock+0x89/0x120 [ 85.730581][ T5362] ? validate_chain+0x897/0x2140 [ 85.730592][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.730603][ T5362] ? __pfx___mutex_lock+0x10/0x10 [ 85.730622][ T5362] hfsplus_get_block+0x39e/0x1530 [ 85.730636][ T5362] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.730647][ T5362] ? do_raw_spin_unlock+0x4d/0x240 [ 85.730660][ T5362] ? _raw_spin_unlock+0x28/0x50 [ 85.730674][ T5362] block_read_full_folio+0x29f/0x830 [ 85.730687][ T5362] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.730698][ T5362] filemap_read_folio+0x114/0x380 [ 85.730715][ T5362] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.730726][ T5362] ? __pfx_filemap_read_folio+0x10/0x10 [ 85.730743][ T5362] ? filemap_add_folio+0x1af/0x270 [ 85.730758][ T5362] do_read_cache_folio+0x350/0x590 [ 85.730768][ T5362] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.730779][ T5362] read_cache_page+0x5d/0x170 [ 85.730789][ T5362] hfsplus_block_free+0x121/0x550 [ 85.730807][ T5362] hfsplus_free_extents+0x10d/0xa60 [ 85.730819][ T5362] hfsplus_file_truncate+0x736/0xb40 [ 85.730834][ T5362] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 85.730846][ T5362] ? __pfx___mutex_lock+0x10/0x10 [ 85.730862][ T5362] ? __lock_acquire+0xab9/0xd20 [ 85.730877][ T5362] hfsplus_delete_inode+0x180/0x230 [ 85.730889][ T5362] hfsplus_unlink+0x4e3/0x730 [ 85.730901][ T5362] ? vfs_unlink+0xf2/0x650 [ 85.730914][ T5362] ? __pfx_hfsplus_unlink+0x10/0x10 [ 85.730928][ T5362] ? __pfx_down_write+0x10/0x10 [ 85.730938][ T5362] ? bpf_lsm_inode_unlink+0x9/0x20 [ 85.730956][ T5362] vfs_unlink+0x391/0x650 [ 85.730969][ T5362] do_unlinkat+0x345/0x560 [ 85.730982][ T5362] ? __pfx_do_unlinkat+0x10/0x10 [ 85.730995][ T5362] ? getname_flags+0x1e5/0x540 [ 85.731010][ T5362] __x64_sys_unlinkat+0xd3/0xf0 [ 85.731023][ T5362] do_syscall_64+0xfa/0x3b0 [ 85.731038][ T5362] ? lockdep_hardirqs_on+0x9c/0x150 [ 85.731053][ T5362] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.731063][ T5362] ? clear_bhb_loop+0x60/0xb0 [ 85.731075][ T5362] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.731086][ T5362] RIP: 0033:0x7f48dcf8ebe9 [ 85.731098][ T5362] 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 [ 85.731107][ T5362] RSP: 002b:00007f48dde7c038 EFLAGS: 00000246 ORIG_RAX: 0000000000000107 [ 85.731119][ T5362] RAX: ffffffffffffffda RBX: 00007f48dd1c5fa0 RCX: 00007f48dcf8ebe9 [ 85.731128][ T5362] RDX: 0000000000000000 RSI: 00002000000003c0 RDI: ffffffffffffff9c [ 85.731135][ T5362] RBP: 00007f48dd011e19 R08: 0000000000000000 R09: 0000000000000000 [ 85.731151][ T5362] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.731159][ T5362] R13: 00007f48dd1c6038 R14: 00007f48dd1c5fa0 R15: 00007fffae8f0798 [ 85.731171][ T5362] [ 85.909492][ T5362] hfsplus: unable to mark blocks free: error -5 [ 85.912558][ T5362] hfsplus: can't free extent