program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) syz_mount_image$ext4(&(0x7f0000000240)='ext4\x00', &(0x7f0000000280)='mnt\x00', 0x4, &(0x7f0000000000), 0x0, 0x23a, &(0x7f0000000700)="$eJzs3TFoM2UcBvDnLomf/b4gVRdBUEFEtFDqJrjURaEgpYgIKlREXJRWqC1urZOLg84qnVyKuFkdpUtxUQSnqh3qImhxsDjoELlcK9VGFFNz8t3vB5fcJe97//e4e97LciRAa00nmU/SSTKTpJekON/grnqZPt3cntpfTgaDx38shu3q7dpZv2tJtpI8mGSvLPJiN9nYffro54NH731jvXfPe7tPTU30IE8dHx0+dvLu4usfLjyw8fmX3y8WmU//D8d1+YoRn3WL5Jb/otj/RNFtegT8E0uvfvBVlftbk9w9zH8vZeqT9+baDXu93P/OX/V964cvbp/kWIHLNxj0qnvg1gBonTJJP0U5m6ReL8vZ2fo3/Nedq+VLq2uvzLywur7yfNMzFXBZ+snhIx9f+ejan/L/XafOP3D9qvL/xNLON9X6Safp0QCTVOV/5tnN+yL/0DryD+0l/9Be8g/tNcx/GfmHFnL/h/aSf2gv+Yf2kn9oL/mH9jqffwCgXQZXmn4CGWhK0/MPAAAAAAAAAAAAAAAAAABw0fbU/vLZMqman76dHD+cpDuqfmf4f8TJjcPXqz8VVbPfFXW3sTxz55g7GNP7DT99fdO3zdb/7I5m62+uJFuvJZnrdi9ef8Xp9ffv3fw33/eeG7PAmB56stn6v+40W3/hIPmkmn/mRs0/ZW4bvo+ef/rV+Ruz/su/jLkDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJua3AAAA//+5I2xM") mkdirat(0xffffffffffffff9c, &(0x7f0000000640)='mnt/encrypted_dir\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000680)='./file1\x00', 0x0, 0x0) setreuid(0x0, 0xee00) ioctl$FS_IOC_SET_ENCRYPTION_POLICY(r1, 0x800c6613, &(0x7f00000006c0)=@v1={0x0, @adiantum, 0x3, @desc1}) r2 = io_uring_setup(0x35fc, &(0x7f0000000040)={0x0, 0xe93c, 0x40, 0x2, 0x330}) io_uring_register$IORING_REGISTER_FILE_ALLOC_RANGE(r2, 0x19, &(0x7f00000000c0)={0x7c94, 0x1, 0x8000}, 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r3, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) io_setup(0xf56, &(0x7f0000000100)) [ 73.076747][ T4673] Bluetooth: hci0: command tx timeout [ 73.161679][ T5324] loop0: detected capacity change from 0 to 1024 [ 73.245878][ T25] audit: type=1800 audit(1749555112.714:2): pid=5324 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.284965][ T5324] [ 73.286108][ T5324] ====================================================== [ 73.289052][ T5324] WARNING: possible circular locking dependency detected [ 73.292580][ T5324] 6.16.0-rc1-syzkaller-00003-gf09079bd04a9 #0 Not tainted [ 73.296036][ T5324] ------------------------------------------------------ [ 73.299234][ T5324] syz.0.0/5324 is trying to acquire lock: [ 73.301702][ T5324] ffff888052ef0108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 73.307486][ T5324] [ 73.307486][ T5324] but task is already holding lock: [ 73.311006][ T5324] ffff88803130c0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 73.315394][ T5324] [ 73.315394][ T5324] which lock already depends on the new lock. [ 73.315394][ T5324] [ 73.320390][ T5324] [ 73.320390][ T5324] the existing dependency chain (in reverse order) is: [ 73.325213][ T5324] [ 73.325213][ T5324] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 73.328676][ T5324] lock_acquire+0x120/0x360 [ 73.330851][ T5324] __mutex_lock+0x182/0xe80 [ 73.333607][ T5324] hfsplus_find_init+0x15a/0x1d0 [ 73.336723][ T5324] hfsplus_get_block+0x8dd/0x1530 [ 73.339344][ T5324] block_read_full_folio+0x29c/0x830 [ 73.342679][ T5324] read_pages+0x35a/0x580 [ 73.345351][ T5324] page_cache_ra_unbounded+0x6b0/0x7b0 [ 73.347862][ T5324] filemap_get_pages+0x43c/0x1ea0 [ 73.350376][ T5324] filemap_read+0x3f6/0x11a0 [ 73.352801][ T5324] __kernel_read+0x469/0x8c0 [ 73.355345][ T5324] integrity_kernel_read+0x89/0xd0 [ 73.358245][ T5324] ima_calc_file_hash+0x85e/0x16f0 [ 73.361106][ T5324] ima_collect_measurement+0x428/0x8d0 [ 73.363615][ T5324] process_measurement+0x1121/0x1a40 [ 73.366256][ T5324] ima_file_check+0xd7/0x120 [ 73.368690][ T5324] security_file_post_open+0xbb/0x290 [ 73.371861][ T5324] path_openat+0x2f26/0x3830 [ 73.375017][ T5324] do_filp_open+0x1fa/0x410 [ 73.377450][ T5324] do_sys_openat2+0x121/0x1c0 [ 73.379743][ T5324] __x64_sys_openat+0x138/0x170 [ 73.382062][ T5324] do_syscall_64+0xfa/0x3b0 [ 73.384219][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.387038][ T5324] [ 73.387038][ T5324] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 73.391053][ T5324] validate_chain+0xb9b/0x2140 [ 73.393965][ T5324] __lock_acquire+0xab9/0xd20 [ 73.396798][ T5324] lock_acquire+0x120/0x360 [ 73.398988][ T5324] __mutex_lock+0x182/0xe80 [ 73.401199][ T5324] hfsplus_file_extend+0x1fc/0x1990 [ 73.403687][ T5324] hfsplus_bmap_reserve+0x122/0x500 [ 73.406212][ T5324] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 73.409091][ T5324] __hfsplus_ext_cache_extent+0x89/0xe30 [ 73.412667][ T5324] hfsplus_file_extend+0x444/0x1990 [ 73.415553][ T5324] hfsplus_get_block+0x411/0x1530 [ 73.417923][ T5324] __block_write_begin_int+0x6b2/0x1900 [ 73.420605][ T5324] cont_write_begin+0x789/0xb50 [ 73.422808][ T5324] hfsplus_write_begin+0x66/0xb0 [ 73.425341][ T5324] generic_perform_write+0x2c4/0x910 [ 73.428256][ T5324] generic_file_write_iter+0x10f/0x540 [ 73.431169][ T5324] aio_write+0x535/0x7a0 [ 73.433081][ T5324] io_submit_one+0x78b/0x1310 [ 73.435482][ T5324] __se_sys_io_submit+0x185/0x2f0 [ 73.437949][ T5324] do_syscall_64+0xfa/0x3b0 [ 73.440264][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.443159][ T5324] [ 73.443159][ T5324] other info that might help us debug this: [ 73.443159][ T5324] [ 73.447886][ T5324] Possible unsafe locking scenario: [ 73.447886][ T5324] [ 73.451509][ T5324] CPU0 CPU1 [ 73.454501][ T5324] ---- ---- [ 73.457246][ T5324] lock(&tree->tree_lock/1); [ 73.459462][ T5324] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.463195][ T5324] lock(&tree->tree_lock/1); [ 73.466588][ T5324] lock(&HFSPLUS_I(inode)->extents_lock); [ 73.469270][ T5324] [ 73.469270][ T5324] *** DEADLOCK *** [ 73.469270][ T5324] [ 73.473359][ T5324] 3 locks held by syz.0.0/5324: [ 73.475641][ T5324] #0: ffff888052ef2b78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xe3/0x540 [ 73.480463][ T5324] #1: ffff888052ef2988 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 73.485331][ T5324] #2: ffff88803130c0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 73.490926][ T5324] [ 73.490926][ T5324] stack backtrace: [ 73.493591][ T5324] CPU: 0 UID: 60928 PID: 5324 Comm: syz.0.0 Not tainted 6.16.0-rc1-syzkaller-00003-gf09079bd04a9 #0 PREEMPT(full) [ 73.493611][ T5324] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 73.493619][ T5324] Call Trace: [ 73.493629][ T5324] [ 73.493636][ T5324] dump_stack_lvl+0x189/0x250 [ 73.493689][ T5324] ? __pfx_dump_stack_lvl+0x10/0x10 [ 73.493734][ T5324] ? __pfx__printk+0x10/0x10 [ 73.493753][ T5324] ? print_lock_name+0xde/0x100 [ 73.493765][ T5324] print_circular_bug+0x2ee/0x310 [ 73.493777][ T5324] check_noncircular+0x134/0x160 [ 73.493787][ T5324] validate_chain+0xb9b/0x2140 [ 73.493797][ T5324] ? rcu_is_watching+0x15/0xb0 [ 73.493815][ T5324] ? __kasan_check_byte+0x12/0x40 [ 73.493827][ T5324] ? rcu_is_watching+0x15/0xb0 [ 73.493842][ T5324] ? look_up_lock_class+0x74/0x170 [ 73.493858][ T5324] ? register_lock_class+0x51/0x320 [ 73.493874][ T5324] __lock_acquire+0xab9/0xd20 [ 73.493894][ T5324] ? hfsplus_file_extend+0x1fc/0x1990 [ 73.493907][ T5324] lock_acquire+0x120/0x360 [ 73.493923][ T5324] ? hfsplus_file_extend+0x1fc/0x1990 [ 73.493943][ T5324] __mutex_lock+0x182/0xe80 [ 73.493953][ T5324] ? hfsplus_file_extend+0x1fc/0x1990 [ 73.493966][ T5324] ? check_path+0x21/0x40 [ 73.493974][ T5324] ? check_noncircular+0xe0/0x160 [ 73.493985][ T5324] ? hfsplus_file_extend+0x1fc/0x1990 [ 73.494000][ T5324] ? __pfx___mutex_lock+0x10/0x10 [ 73.494011][ T5324] hfsplus_file_extend+0x1fc/0x1990 [ 73.494026][ T5324] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 73.494037][ T5324] ? __mutex_trylock_common+0x153/0x260 [ 73.494049][ T5324] ? __pfx___mutex_trylock_common+0x10/0x10 [ 73.494062][ T5324] ? rcu_is_watching+0x15/0xb0 [ 73.494079][ T5324] ? trace_contention_end+0x39/0x120 [ 73.494091][ T5324] ? __mutex_lock+0x330/0xe80 [ 73.494100][ T5324] ? hfsplus_brec_find+0x191/0x500 [ 73.494113][ T5324] hfsplus_bmap_reserve+0x122/0x500 [ 73.494163][ T5324] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 73.494181][ T5324] __hfsplus_ext_cache_extent+0x89/0xe30 [ 73.494197][ T5324] hfsplus_file_extend+0x444/0x1990 [ 73.494216][ T5324] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 73.494232][ T5324] ? clean_bdev_aliases+0x5c9/0x6b0 [ 73.494245][ T5324] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 73.494259][ T5324] hfsplus_get_block+0x411/0x1530 [ 73.494275][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.494288][ T5324] ? do_raw_spin_unlock+0x4d/0x240 [ 73.494302][ T5324] ? _raw_spin_unlock+0x28/0x50 [ 73.494319][ T5324] __block_write_begin_int+0x6b2/0x1900 [ 73.494336][ T5324] ? folio_add_lru+0x1b2/0x3d0 [ 73.494352][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.494366][ T5324] ? __pfx___block_write_begin_int+0x10/0x10 [ 73.494383][ T5324] cont_write_begin+0x789/0xb50 [ 73.494402][ T5324] ? __pfx_cont_write_begin+0x10/0x10 [ 73.494416][ T5324] ? __pfx___might_resched+0x10/0x10 [ 73.494430][ T5324] ? folio_unlock+0x101/0x160 [ 73.494440][ T5324] hfsplus_write_begin+0x66/0xb0 [ 73.494450][ T5324] ? __pfx_hfsplus_get_block+0x10/0x10 [ 73.494462][ T5324] generic_perform_write+0x2c4/0x910 [ 73.494480][ T5324] ? __pfx_generic_perform_write+0x10/0x10 [ 73.494492][ T5324] ? file_update_time+0x2da/0x490 [ 73.494507][ T5324] ? __generic_file_write_iter+0xf9/0x230 [ 73.494519][ T5324] ? generic_file_write_iter+0xfb/0x540 [ 73.494533][ T5324] generic_file_write_iter+0x10f/0x540 [ 73.494546][ T5324] ? aa_file_perm+0x11f/0xed0 [ 73.494560][ T5324] ? __pfx_generic_file_write_iter+0x10/0x10 [ 73.494582][ T5324] ? __lock_acquire+0xab9/0xd20 [ 73.494597][ T5324] ? aio_write+0x4c4/0x7a0 [ 73.494609][ T5324] aio_write+0x535/0x7a0 [ 73.494621][ T5324] ? __pfx_aio_write+0x10/0x10 [ 73.494633][ T5324] ? __might_fault+0xb0/0x130 [ 73.494649][ T5324] io_submit_one+0x78b/0x1310 [ 73.494663][ T5324] ? __pfx_io_submit_one+0x10/0x10 [ 73.494677][ T5324] ? __might_fault+0xb0/0x130 [ 73.494688][ T5324] ? __might_fault+0xb0/0x130 [ 73.494697][ T5324] __se_sys_io_submit+0x185/0x2f0 [ 73.494710][ T5324] ? __pfx___se_sys_io_submit+0x10/0x10 [ 73.494721][ T5324] ? do_syscall_64+0xbe/0x3b0 [ 73.494734][ T5324] do_syscall_64+0xfa/0x3b0 [ 73.494754][ T5324] ? lockdep_hardirqs_on+0x9c/0x150 [ 73.494773][ T5324] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.494784][ T5324] ? clear_bhb_loop+0x60/0xb0 [ 73.494797][ T5324] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 73.494811][ T5324] RIP: 0033:0x7fafa298e929 [ 73.494825][ T5324] 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 [ 73.494836][ T5324] RSP: 002b:00007fafa37f0038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 73.494850][ T5324] RAX: ffffffffffffffda RBX: 00007fafa2bb5fa0 RCX: 00007fafa298e929 [ 73.494858][ T5324] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fafa37a6000 [ 73.494867][ T5324] RBP: 00007fafa2a10b39 R08: 0000000000000000 R09: 0000000000000000 [ 73.494873][ T5324] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 73.494879][ T5324] R13: 0000000000000000 R14: 00007fafa2bb5fa0 R15: 00007ffe37313fe8 [ 73.494890][ T5324]