program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = memfd_create(&(0x7f0000000480)='\xff\x00l\x1e\xa00x0) io_submit(r9, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r8, &(0x7f0000000000), 0x70000}]) [ 73.243423][ T4671] Bluetooth: hci0: command tx timeout [ 73.326463][ T5321] loop0: detected capacity change from 0 to 1024 [ 73.402323][ T25] audit: type=1800 audit(1770377982.972:2): pid=5321 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed comm="syz.0.0" name="file1" dev="loop0" ino=20 res=0 errno=0 [ 73.495150][ T5322] [ 73.496352][ T5322] ====================================================== [ 73.499476][ T5322] WARNING: possible circular locking dependency detected [ 73.502416][ T5322] syzkaller #0 Not tainted [ 73.504389][ T5322] ------------------------------------------------------ [ 73.507516][ T5322] syz.0.0/5322 is trying to acquire lock: [ 73.509996][ T5322] ffff888012b94108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 73.514733][ T5322] [ 73.514733][ T5322] but task is already holding lock: [ 73.518035][ T5322] ffff888012ba00b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 73.522130][ T5322] [ 73.522130][ T5322] which lock already depends on the new lock. [ 73.522130][ T5322] [ 73.526391][ T5322] [ 73.526391][ T5322] the existing dependency chain (in reverse order) is: [ 73.530349][ T5322] [ 73.530349][ T5322] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 73.533777][ T5322] __mutex_lock+0x19f/0x1300 [ 73.536097][ T5322] hfsplus_find_init+0x168/0x2d0 [ 73.538395][ T5322] hfsplus_get_block+0x91e/0x1670 [ 73.540811][ T5322] block_read_full_folio+0x29f/0x830 [ 73.543499][ T5322] read_pages+0x373/0x5a0 [ 73.545659][ T5322] page_cache_ra_unbounded+0x74f/0x980 [ 73.548189][ T5322] filemap_get_pages+0x4c5/0x1ec0 [ 73.550588][ T5322] filemap_read+0x447/0x1230 [ 73.552843][ T5322] __kernel_read+0x504/0x9b0 [ 73.555157][ T5322] integrity_kernel_read+0x89/0xd0 [ 73.558285][ T5322] ima_calc_file_hash+0x12c3/0x17f0 [ 73.560787][ T5322] ima_collect_measurement+0x48b/0x930 [ 73.563443][ T5322] process_measurement+0x12e0/0x1cb0 [ 73.565992][ T5322] ima_file_check+0xdf/0x130 [ 73.568230][ T5322] security_file_post_open+0xb3/0x260 [ 73.570522][ T5322] path_openat+0x34cb/0x3e20 [ 73.572475][ T5322] do_filp_open+0x22d/0x490 [ 73.574428][ T5322] do_sys_openat2+0x12f/0x220 [ 73.576511][ T5322] __x64_sys_openat+0x138/0x170 [ 73.578687][ T5322] do_syscall_64+0xe2/0xf80 [ 73.580754][ T5322] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.583349][ T5322] [ 73.583349][ T5322] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 73.586679][ T5322] __lock_acquire+0x15a5/0x2cf0 [ 73.589110][ T5322] lock_acquire+0x106/0x330 [ 73.591325][ T5322] __mutex_lock+0x19f/0x1300 [ 73.593570][ T5322] hfsplus_file_extend+0x215/0x1d70 [ 73.595952][ T5322] hfsplus_bmap_reserve+0x125/0x510 [ 73.598474][ T5322] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 73.601146][ T5322] __hfsplus_ext_cache_extent+0x89/0xe30 [ 73.604270][ T5322] hfsplus_file_extend+0x4af/0x1d70 [ 73.606701][ T5322] hfsplus_get_block+0x42c/0x1670 [ 73.609192][ T5322] __block_write_begin_int+0x6c6/0x1910 [ 73.611870][ T5322] cont_write_begin+0x737/0xae0 [ 73.614220][ T5322] hfsplus_write_begin+0x66/0xb0 [ 73.616636][ T5322] generic_perform_write+0x2e2/0x8f0 [ 73.619186][ T5322] generic_file_write_iter+0x14a/0x680 [ 73.621823][ T5322] aio_write+0x5cd/0x870 [ 73.624077][ T5322] io_submit_one+0x7bb/0x14c0 [ 73.626395][ T5322] __se_sys_io_submit+0x195/0x340 [ 73.628904][ T5322] do_syscall_64+0xe2/0xf80 [ 73.631227][ T5322] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.634158][ T5322] [ 73.634158][ T5322] other info that might help us debug this: [ 73.634158][ T5322] [ 73.638589][ T5322] Possible unsafe locking scenario: [ 73.638589][ T5322] [ 73.641793][ T5322] CPU0 CPU1 [ 73.644215][ T5322] ---- ---- [ 73.646613][ T5322] lock(&tree->tree_lock/1); [ 73.648739][ T5322] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.652418][ T5322] lock(&tree->tree_lock/1); [ 73.655546][ T5322] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.658052][ T5322] [ 73.658052][ T5322] *** DEADLOCK *** [ 73.658052][ T5322] [ 73.661516][ T5322] 3 locks held by syz.0.0/5322: [ 73.663681][ T5322] #0: ffff888012b978f8 (&sb->s_type->i_mutex_key#25){++++}-{4:4}, at: generic_file_write_iter+0x11e/0x680 [ 73.668652][ T5322] #1: ffff888012b97708 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 73.673354][ T5322] #2: ffff888012ba00b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 73.677800][ T5322] [ 73.677800][ T5322] stack backtrace: [ 73.680576][ T5322] CPU: 0 UID: 0 PID: 5322 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 73.680594][ T5322] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 73.680602][ T5322] Call Trace: [ 73.680611][ T5322] [ 73.680617][ T5322] dump_stack_lvl+0xe8/0x150 [ 73.680637][ T5322] print_circular_bug+0x2e1/0x300 [ 73.680652][ T5322] check_noncircular+0x12e/0x150 [ 73.680667][ T5322] __lock_acquire+0x15a5/0x2cf0 [ 73.680685][ T5322] ? rcu_is_watching+0x15/0xb0 [ 73.680697][ T5322] ? __kasan_check_byte+0x12/0x40 [ 73.680715][ T5322] ? rcu_is_watching+0x15/0xb0 [ 73.680729][ T5322] ? lock_release+0x4b/0x3a0 [ 73.680744][ T5322] ? lock_release+0x4b/0x3a0 [ 73.680761][ T5322] ? hfsplus_file_extend+0x215/0x1d70 [ 73.680777][ T5322] lock_acquire+0x106/0x330 [ 73.680791][ T5322] ? hfsplus_file_extend+0x215/0x1d70 [ 73.680810][ T5322] __mutex_lock+0x19f/0x1300 [ 73.680823][ T5322] ? hfsplus_file_extend+0x215/0x1d70 [ 73.680849][ T5322] ? stack_trace_save+0xa9/0x100 [ 73.680865][ T5322] ? __pfx_stack_trace_save+0x10/0x10 [ 73.680878][ T5322] ? hfsplus_file_extend+0x215/0x1d70 [ 73.680893][ T5322] ? check_path+0x21/0x40 [ 73.680902][ T5322] ? check_noncircular+0xda/0x150 [ 73.680914][ T5322] ? __pfx___mutex_lock+0x10/0x10 [ 73.680924][ T5322] ? add_lock_to_list+0xc7/0x100 [ 73.680936][ T5322] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 73.680952][ T5322] hfsplus_file_extend+0x215/0x1d70 [ 73.680971][ T5322] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 73.680986][ T5322] ? __pfx___mutex_trylock_common+0x10/0x10 [ 73.680997][ T5322] ? rcu_is_watching+0x15/0xb0 [ 73.681008][ T5322] ? trace_contention_end+0x39/0x100 [ 73.681020][ T5322] ? __asan_memset+0x22/0x50 [ 73.681034][ T5322] ? hfsplus_brec_find+0x19d/0x520 [ 73.681048][ T5322] hfsplus_bmap_reserve+0x125/0x510 [ 73.681064][ T5322] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 73.681075][ T5322] __hfsplus_ext_cache_extent+0x89/0xe30 [ 73.681088][ T5322] hfsplus_file_extend+0x4af/0x1d70 [ 73.681105][ T5322] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 73.681123][ T5322] ? clean_bdev_aliases+0x62e/0x750 [ 73.681140][ T5322] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 73.681155][ T5322] hfsplus_get_block+0x42c/0x1670 [ 73.681174][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.681190][ T5322] ? do_raw_spin_unlock+0x4d/0x210 [ 73.681203][ T5322] ? _raw_spin_unlock+0x28/0x50 [ 73.681219][ T5322] __block_write_begin_int+0x6c6/0x1910 [ 73.681237][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.681253][ T5322] ? __pfx___block_write_begin_int+0x10/0x10 [ 73.681269][ T5322] cont_write_begin+0x737/0xae0 [ 73.681286][ T5322] ? __pfx_cont_write_begin+0x10/0x10 [ 73.681303][ T5322] hfsplus_write_begin+0x66/0xb0 [ 73.681317][ T5322] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.681333][ T5322] generic_perform_write+0x2e2/0x8f0 [ 73.681347][ T5322] ? __pfx_generic_perform_write+0x10/0x10 [ 73.681359][ T5322] ? file_update_time_flags+0x2cb/0x4d0 [ 73.681371][ T5322] ? __generic_file_write_iter+0xf9/0x230 [ 73.681381][ T5322] ? generic_file_write_iter+0x136/0x680 [ 73.681392][ T5322] generic_file_write_iter+0x14a/0x680 [ 73.681404][ T5322] ? __pfx_generic_file_write_iter+0x10/0x10 [ 73.681416][ T5322] ? __lock_acquire+0x6b5/0x2cf0 [ 73.681432][ T5322] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 73.681447][ T5322] ? lockdep_hardirqs_on+0x7a/0x110 [ 73.681457][ T5322] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 73.681472][ T5322] ? stack_depot_save_flags+0x3f3/0x810 [ 73.681486][ T5322] ? io_submit_one+0x7bb/0x14c0 [ 73.681502][ T5322] ? aio_write+0x547/0x870 [ 73.681516][ T5322] aio_write+0x5cd/0x870 [ 73.681531][ T5322] ? __pfx_aio_write+0x10/0x10 [ 73.681545][ T5322] ? __might_fault+0xaf/0x130 [ 73.681564][ T5322] io_submit_one+0x7bb/0x14c0 [ 73.681576][ T5322] ? irqentry_exit+0x59c/0x620 [ 73.681589][ T5322] ? __pfx_io_submit_one+0x10/0x10 [ 73.681602][ T5322] ? __might_fault+0xaf/0x130 [ 73.681617][ T5322] ? __might_fault+0xaf/0x130 [ 73.681631][ T5322] __se_sys_io_submit+0x195/0x340 [ 73.681643][ T5322] ? __pfx___se_sys_io_submit+0x10/0x10 [ 73.681658][ T5322] do_syscall_64+0xe2/0xf80 [ 73.681669][ T5322] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.681680][ T5322] ? trace_irq_disable+0x37/0x100 [ 73.681692][ T5322] ? clear_bhb_loop+0x60/0xb0 [ 73.681705][ T5322] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.681717][ T5322] RIP: 0033:0x7fcfa819aeb9 [ 73.681730][ T5322] 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.681740][ T5322] RSP: 002b:00007fcfa9078028 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 73.681753][ T5322] RAX: ffffffffffffffda RBX: 00007fcfa8416090 RCX: 00007fcfa819aeb9 [ 73.681763][ T5322] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fcfa904f000 [ 73.681770][ T5322] RBP: 00007fcfa8208c1f R08: 0000000000000000 R09: 0000000000000000 [ 73.681778][ T5322] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 73.681785][ T5322] R13: 00007fcfa8416128 R14: 00007fcfa8416090 R15: 00007ffcd2e86df8 [ 73.681795][ T5322]