program: syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@part={'part', 0x3d, 0x500f}}, {@nodecompose}, {}, {@part={'part', 0x3d, 0xc}}, {@uid}, {@barrier}, {@nls={'nls', 0x3d, 'cp949'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x5f4, &(0x7f0000000640)="$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") r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r1, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0x0, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x4000, 0xa00}]) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x3, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x61, 0x10, 0x58}, [@ldst={0x6, 0x0, 0x6}]}, &(0x7f0000003ff6)='GPL\x00', 0x4, 0xfd90, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, @sched_cls, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x366, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) syz_mount_image$minix(&(0x7f0000000080), &(0x7f00000001c0)='./file1\x00', 0x8, &(0x7f0000000480)=ANY=[@ANYBLOB="0049cef4df796851925f86c004000000e4cf62dc777d55387afc4a70d087ede499a199c4d7e87a07cdb3e45fc513a1f97b0b9047144790d8f3affa2044cbd987208cf1dcd4ec17f5138b1f4efbdc2a7be39782db000000000000002c2e5cf00c404f4a3246fb740282b4265c2c2c686173682c00181f302d7cd22530b02054463a3dd16b847ce0f9c3bd119a1498eb8cc1ae04dee8bfa77d492c96fd54cb0abb83366c6b4d4785b8103b6ea5ce14afc0ebaae0f62832e93c0cd17b2130111d313bea3d9ab4738453538e448d770b602e104974e6cd92f7d589103fde2331f870b425e8776f9e2152dec6551ec1f61ced64b19c9e56"], 0x5, 0x18e, &(0x7f0000002780)="$eJzs299ummAYx/EfCurcZtzcTpYdkOxgO5lOzf54tt3DbsAoM0ZcTe2JpknTi+gF9KwXV5P2BmoDERqxTRMrYPX7OeLHI/CivviQiADsLVu2DBmyvPCxUD6pGGkPCUBC5pJu5gD2U/bq3rXetQHATpv9kUaSLq+PO8pa0fbgrCTpd1DP5FZeMDuVPpiLupFXIdpfnEufg+2NF6sNSFkqhvXiStnb/5dPwfFf6pVeqyTvHuWN3i7q3XD7909th4C9YqgazUsrMvrXd51vYbb8XA9zzs+NSG6GOe/naufA7cZ1CgDWlHlk/mcj89+MzH8Az9d4Mh20Xdc53N4Fw5S2YBiT6SDJYeQkxX8sO8n30FY6H1xw15n692ejC+ZG9nNhPVRK+cIEIHa1o+GoNp5Mv/aH7Z7Tc/43fjVaP5rf6z9bNb/zz2up/wewO+5+9NMeCQAAAAAAAAAAAAAAWFdF79IeAgAAAICE+P///RvvE0tpnyMAAAAAAAAAAAAAAAAAAACwK24DAAD//3/aFdo=") unlink(&(0x7f0000000740)='./file1\x00') [ 73.544067][ T5292] Bluetooth: hci0: command tx timeout [ 73.609934][ T5312] loop0: detected capacity change from 0 to 1024 [ 73.690688][ T5312] hfsplus: invalid extended attribute record [ 73.694720][ T5312] [ 73.695755][ T5312] ====================================================== [ 73.699520][ T5312] WARNING: possible circular locking dependency detected [ 73.703351][ T5312] syzkaller #0 Not tainted [ 73.705706][ T5312] ------------------------------------------------------ [ 73.709408][ T5312] syz.0.0/5312 is trying to acquire lock: [ 73.712216][ T5312] ffff8880434560f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xc7/0x630 [ 73.716946][ T5312] [ 73.716946][ T5312] but task is already holding lock: [ 73.720247][ T5312] ffff888041a91c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 73.724505][ T5312] [ 73.724505][ T5312] which lock already depends on the new lock. [ 73.724505][ T5312] [ 73.728324][ T5312] [ 73.728324][ T5312] the existing dependency chain (in reverse order) is: [ 73.732339][ T5312] [ 73.732339][ T5312] -> #1 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 73.736378][ T5312] __mutex_lock+0x19f/0x1300 [ 73.738700][ T5312] hfsplus_get_block+0x39e/0x1670 [ 73.741225][ T5312] block_read_full_folio+0x29f/0x830 [ 73.743718][ T5312] filemap_read_folio+0x137/0x3b0 [ 73.746169][ T5312] do_read_cache_folio+0x358/0x590 [ 73.748534][ T5312] read_cache_page+0x5d/0x170 [ 73.750787][ T5312] hfsplus_block_allocate+0xf3/0xce0 [ 73.753289][ T5312] hfsplus_file_extend+0xb2d/0x1d70 [ 73.755746][ T5312] hfsplus_get_block+0x42c/0x1670 [ 73.758132][ T5312] __block_write_begin_int+0x6c6/0x1910 [ 73.760812][ T5312] cont_write_begin+0x737/0xae0 [ 73.763027][ T5312] hfsplus_write_begin+0x66/0xb0 [ 73.765390][ T5312] cont_write_begin+0x7cc/0xae0 [ 73.767707][ T5312] hfsplus_write_begin+0x66/0xb0 [ 73.770084][ T5312] generic_perform_write+0x2e2/0x8f0 [ 73.772522][ T5312] generic_file_write_iter+0x14a/0x680 [ 73.774975][ T5312] aio_write+0x5cd/0x870 [ 73.777086][ T5312] io_submit_one+0x7bb/0x14c0 [ 73.779278][ T5312] __se_sys_io_submit+0x195/0x340 [ 73.781686][ T5312] do_syscall_64+0x14d/0xf80 [ 73.783990][ T5312] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.786624][ T5312] [ 73.786624][ T5312] -> #0 (&sbi->alloc_mutex){+.+.}-{4:4}: [ 73.789903][ T5312] __lock_acquire+0x15a5/0x2cf0 [ 73.792152][ T5312] lock_acquire+0x106/0x330 [ 73.794318][ T5312] __mutex_lock+0x19f/0x1300 [ 73.796388][ T5312] hfsplus_block_free+0xc7/0x630 [ 73.798350][ T5312] hfsplus_free_extents+0x121/0xa50 [ 73.800585][ T5312] hfsplus_file_truncate+0x762/0xc30 [ 73.803100][ T5312] hfsplus_delete_inode+0x180/0x230 [ 73.805574][ T5312] hfsplus_unlink+0x4ee/0x930 [ 73.807871][ T5312] vfs_unlink+0x272/0x6c0 [ 73.810013][ T5312] filename_unlinkat+0x3cd/0x610 [ 73.812409][ T5312] __se_sys_unlink+0x2e/0x140 [ 73.814674][ T5312] do_syscall_64+0x14d/0xf80 [ 73.816765][ T5312] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.819490][ T5312] [ 73.819490][ T5312] other info that might help us debug this: [ 73.819490][ T5312] [ 73.823805][ T5312] Possible unsafe locking scenario: [ 73.823805][ T5312] [ 73.827008][ T5312] CPU0 CPU1 [ 73.829390][ T5312] ---- ---- [ 73.831622][ T5312] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.834000][ T5312] lock(&sbi->alloc_mutex); [ 73.836942][ T5312] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.840190][ T5312] lock(&sbi->alloc_mutex); [ 73.841912][ T5312] [ 73.841912][ T5312] *** DEADLOCK *** [ 73.841912][ T5312] [ 73.845140][ T5312] 5 locks held by syz.0.0/5312: [ 73.846949][ T5312] #0: ffff888012724420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 73.851254][ T5312] #1: ffff888041a93238 (&type->i_mutex_dir_key#8/1){+.+.}-{4:4}, at: filename_unlinkat+0x2a7/0x610 [ 73.857164][ T5312] #2: ffff888041a91df8 (&sb->s_type->i_mutex_key#25){+.+.}-{4:4}, at: vfs_unlink+0xed/0x6c0 [ 73.862659][ T5312] #3: ffff888043456198 (&sbi->vh_mutex){+.+.}-{4:4}, at: hfsplus_unlink+0x182/0x930 [ 73.866754][ T5312] #4: ffff888041a91c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 73.872455][ T5312] [ 73.872455][ T5312] stack backtrace: [ 73.875738][ T5312] CPU: 0 UID: 0 PID: 5312 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 73.875757][ T5312] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 73.875766][ T5312] Call Trace: [ 73.875774][ T5312] [ 73.875808][ T5312] dump_stack_lvl+0xe8/0x150 [ 73.875829][ T5312] print_circular_bug+0x2e1/0x300 [ 73.875849][ T5312] check_noncircular+0x12e/0x150 [ 73.875865][ T5312] __lock_acquire+0x15a5/0x2cf0 [ 73.875880][ T5312] ? lockdep_unlock+0x5d/0xd0 [ 73.875914][ T5312] ? __lock_acquire+0x146e/0x2cf0 [ 73.875930][ T5312] ? hfsplus_block_free+0xc7/0x630 [ 73.875947][ T5312] lock_acquire+0x106/0x330 [ 73.875960][ T5312] ? hfsplus_block_free+0xc7/0x630 [ 73.875979][ T5312] __mutex_lock+0x19f/0x1300 [ 73.875995][ T5312] ? hfsplus_block_free+0xc7/0x630 [ 73.876013][ T5312] ? rcu_is_watching+0x15/0xb0 [ 73.876028][ T5312] ? trace_contention_end+0x39/0x100 [ 73.876044][ T5312] ? __mutex_lock+0x319/0x1300 [ 73.876056][ T5312] ? hfsplus_block_free+0xc7/0x630 [ 73.876072][ T5312] ? __pfx___mutex_lock+0x10/0x10 [ 73.876087][ T5312] ? __mutex_unlock_slowpath+0x1bd/0x7d0 [ 73.876102][ T5312] hfsplus_block_free+0xc7/0x630 [ 73.876118][ T5312] ? trace_kmalloc+0x1f/0xb0 [ 73.876131][ T5312] ? __kmalloc_noprof+0x37d/0x760 [ 73.876158][ T5312] ? hfsplus_free_extents+0x2a/0xa50 [ 73.876170][ T5312] hfsplus_free_extents+0x121/0xa50 [ 73.876183][ T5312] hfsplus_file_truncate+0x762/0xc30 [ 73.876198][ T5312] ? hfsplus_delete_cat+0x860/0xe80 [ 73.876211][ T5312] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 73.876225][ T5312] ? __pfx___mutex_lock+0x10/0x10 [ 73.876241][ T5312] hfsplus_delete_inode+0x180/0x230 [ 73.876260][ T5312] hfsplus_unlink+0x4ee/0x930 [ 73.876274][ T5312] ? __pfx_hfsplus_unlink+0x10/0x10 [ 73.876288][ T5312] ? __pfx_down_write+0x10/0x10 [ 73.876315][ T5312] ? try_break_deleg+0x5b/0x180 [ 73.876331][ T5312] vfs_unlink+0x272/0x6c0 [ 73.876350][ T5312] filename_unlinkat+0x3cd/0x610 [ 73.876367][ T5312] ? __pfx_filename_unlinkat+0x10/0x10 [ 73.876385][ T5312] ? do_getname+0x151/0x250 [ 73.876399][ T5312] __se_sys_unlink+0x2e/0x140 [ 73.876416][ T5312] do_syscall_64+0x14d/0xf80 [ 73.876430][ T5312] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.876442][ T5312] ? trace_irq_disable+0x37/0x100 [ 73.876459][ T5312] ? clear_bhb_loop+0x40/0x90 [ 73.876474][ T5312] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.876488][ T5312] RIP: 0033:0x7f9b5539bf79 [ 73.876501][ T5312] 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 [ 73.876511][ T5312] RSP: 002b:00007f9b517f5028 EFLAGS: 00000246 ORIG_RAX: 0000000000000057 [ 73.876571][ T5312] RAX: ffffffffffffffda RBX: 00007f9b55615fa0 RCX: 00007f9b5539bf79 [ 73.876581][ T5312] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000740 [ 73.876589][ T5312] RBP: 00007f9b554327e0 R08: 0000000000000000 R09: 0000000000000000 [ 73.876597][ T5312] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 73.876604][ T5312] R13: 00007f9b55616038 R14: 00007f9b55615fa0 R15: 00007ffca14c66f8 [ 73.876616][ T5312] [ 74.035627][ T5312] hfsplus: unable to mark blocks free: error -5 [ 74.038793][ T5312] hfsplus: can't free extent: start 134, count 1