program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = fanotify_init(0x8, 0x0) r1 = open$dir(&(0x7f0000000000)='.\x00', 0x0, 0x0) fanotify_mark(r0, 0x1, 0x40001019, r1, 0x0) r2 = open(&(0x7f00000003c0)='./file1\x00', 0x14127e, 0x2) fallocate(r2, 0x1, 0x7fff, 0x8) syz_emit_ethernet(0x82, &(0x7f0000000000)=ANY=[@ANYBLOB="aaaaaaaaaaaa00000000000088a800008100000086dd605f106000442f00fc010000000000000000000000fba20000000000000000000000000000000001"], 0x0) r3 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r3, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f00000000c0)=ANY=[@ANYBLOB="1c0000002400010025bd70e9ffff070000000000060004"], 0x1c}}, 0x0) r4 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r4, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000440)=ANY=[@ANYBLOB="c0000000190001000000000000000000e0000002000000000000000000000000fc01000000000000000000000000000000000000000000000a00000000000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000080000000000000000000000000008001f0003"], 0xc0}}, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000140)={0x6, 0x3, &(0x7f0000000680)=ANY=[@ANYBLOB="1800000002000000000000000000000095"], 0x0, 0x0, 0x0, 0x0, 0x41100}, 0x94) r5 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000480)={0x6, 0x3, &(0x7f0000000680)=ANY=[], &(0x7f00000002c0)='GPL\x00'}, 0x90) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000600)={r5, 0x5, 0xb68, 0x0, &(0x7f0000000000)='%', 0x0, 0xd01, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, 0x48) r6 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r7, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r6, &(0x7f0000000000), 0x70000}]) rename(&(0x7f0000000100)='./bus\x00', &(0x7f0000000140)='./bus\x00') [ 85.193053][ T45] Bluetooth: hci0: command tx timeout [ 85.292871][ T5331] loop0: detected capacity change from 0 to 1024 [ 85.375604][ T26] audit: type=1800 audit(1751297242.298:2): pid=5331 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 [ 85.469625][ T5332] [ 85.470899][ T5332] ====================================================== [ 85.474267][ T5332] WARNING: possible circular locking dependency detected [ 85.477637][ T5332] 6.16.0-rc4-syzkaller #0 Not tainted [ 85.480016][ T5332] ------------------------------------------------------ [ 85.483232][ T5332] syz.0.0/5332 is trying to acquire lock: [ 85.485797][ T5332] ffff888052f88108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 85.491009][ T5332] [ 85.491009][ T5332] but task is already holding lock: [ 85.494401][ T5332] ffff8880334ae0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 85.499404][ T5332] [ 85.499404][ T5332] which lock already depends on the new lock. [ 85.499404][ T5332] [ 85.504425][ T5332] [ 85.504425][ T5332] the existing dependency chain (in reverse order) is: [ 85.508572][ T5332] [ 85.508572][ T5332] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 85.512335][ T5332] lock_acquire+0x120/0x360 [ 85.514597][ T5332] __mutex_lock+0x182/0xe80 [ 85.517100][ T5332] hfsplus_find_init+0x15a/0x1d0 [ 85.519543][ T5332] hfsplus_get_block+0x8dd/0x1530 [ 85.522100][ T5332] block_read_full_folio+0x29c/0x830 [ 85.524814][ T5332] read_pages+0x35d/0x580 [ 85.527109][ T5332] page_cache_ra_unbounded+0x6b0/0x7b0 [ 85.529714][ T5332] filemap_get_pages+0x43c/0x1ea0 [ 85.532318][ T5332] filemap_read+0x3f6/0x11a0 [ 85.534618][ T5332] __kernel_read+0x469/0x8c0 [ 85.536879][ T5332] integrity_kernel_read+0x89/0xd0 [ 85.539244][ T5332] ima_calc_file_hash+0x85e/0x16f0 [ 85.541766][ T5332] ima_collect_measurement+0x428/0x8d0 [ 85.544532][ T5332] process_measurement+0x1121/0x1a40 [ 85.547388][ T5332] ima_file_check+0xd7/0x120 [ 85.549717][ T5332] security_file_post_open+0xbb/0x290 [ 85.552324][ T5332] path_openat+0x2f26/0x3830 [ 85.554604][ T5332] do_filp_open+0x1fa/0x410 [ 85.556896][ T5332] do_sys_openat2+0x121/0x1c0 [ 85.559213][ T5332] __x64_sys_open+0x11e/0x150 [ 85.561528][ T5332] do_syscall_64+0xfa/0x3b0 [ 85.563791][ T5332] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.566472][ T5332] [ 85.566472][ T5332] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 85.570539][ T5332] validate_chain+0xb9b/0x2140 [ 85.572940][ T5332] __lock_acquire+0xab9/0xd20 [ 85.575296][ T5332] lock_acquire+0x120/0x360 [ 85.577608][ T5332] __mutex_lock+0x182/0xe80 [ 85.579915][ T5332] hfsplus_file_extend+0x1fc/0x1990 [ 85.582353][ T5332] hfsplus_bmap_reserve+0x122/0x500 [ 85.584933][ T5332] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 85.587883][ T5332] __hfsplus_ext_cache_extent+0x89/0xe30 [ 85.590628][ T5332] hfsplus_file_extend+0x444/0x1990 [ 85.593317][ T5332] hfsplus_get_block+0x411/0x1530 [ 85.595731][ T5332] __block_write_begin_int+0x6b2/0x1900 [ 85.598485][ T5332] cont_write_begin+0x789/0xb50 [ 85.601092][ T5332] hfsplus_write_begin+0x66/0xb0 [ 85.603849][ T5332] generic_perform_write+0x2c7/0x910 [ 85.606592][ T5332] generic_file_write_iter+0x10f/0x540 [ 85.609404][ T5332] aio_write+0x535/0x7a0 [ 85.611676][ T5332] io_submit_one+0x78b/0x1310 [ 85.614278][ T5332] __se_sys_io_submit+0x185/0x2f0 [ 85.616903][ T5332] do_syscall_64+0xfa/0x3b0 [ 85.619332][ T5332] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.621993][ T5332] [ 85.621993][ T5332] other info that might help us debug this: [ 85.621993][ T5332] [ 85.627064][ T5332] Possible unsafe locking scenario: [ 85.627064][ T5332] [ 85.630706][ T5332] CPU0 CPU1 [ 85.633226][ T5332] ---- ---- [ 85.636151][ T5332] lock(&tree->tree_lock/1); [ 85.638614][ T5332] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.642278][ T5332] lock(&tree->tree_lock/1); [ 85.645677][ T5332] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.649043][ T5332] [ 85.649043][ T5332] *** DEADLOCK *** [ 85.649043][ T5332] [ 85.652728][ T5332] 3 locks held by syz.0.0/5332: [ 85.654925][ T5332] #0: ffff888052f8b238 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: generic_file_write_iter+0xe3/0x540 [ 85.659843][ T5332] #1: ffff888052f8b048 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1fc/0x1990 [ 85.664362][ T5332] #2: ffff8880334ae0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x15a/0x1d0 [ 85.669036][ T5332] [ 85.669036][ T5332] stack backtrace: [ 85.671725][ T5332] CPU: 0 UID: 0 PID: 5332 Comm: syz.0.0 Not tainted 6.16.0-rc4-syzkaller #0 PREEMPT(full) [ 85.671742][ T5332] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 85.671749][ T5332] Call Trace: [ 85.671757][ T5332] [ 85.671764][ T5332] dump_stack_lvl+0x189/0x250 [ 85.671785][ T5332] ? __pfx_dump_stack_lvl+0x10/0x10 [ 85.671801][ T5332] ? __pfx__printk+0x10/0x10 [ 85.671812][ T5332] ? print_lock_name+0xde/0x100 [ 85.671822][ T5332] print_circular_bug+0x2ee/0x310 [ 85.671834][ T5332] check_noncircular+0x134/0x160 [ 85.671846][ T5332] validate_chain+0xb9b/0x2140 [ 85.671856][ T5332] ? rcu_is_watching+0x15/0xb0 [ 85.671871][ T5332] ? __kasan_check_byte+0x12/0x40 [ 85.671881][ T5332] ? rcu_is_watching+0x15/0xb0 [ 85.671895][ T5332] ? look_up_lock_class+0x74/0x170 [ 85.671910][ T5332] ? register_lock_class+0x51/0x320 [ 85.671926][ T5332] __lock_acquire+0xab9/0xd20 [ 85.671941][ T5332] ? hfsplus_file_extend+0x1fc/0x1990 [ 85.671953][ T5332] lock_acquire+0x120/0x360 [ 85.671966][ T5332] ? hfsplus_file_extend+0x1fc/0x1990 [ 85.671982][ T5332] __mutex_lock+0x182/0xe80 [ 85.671997][ T5332] ? hfsplus_file_extend+0x1fc/0x1990 [ 85.672009][ T5332] ? check_path+0x21/0x40 [ 85.672016][ T5332] ? check_noncircular+0xe0/0x160 [ 85.672026][ T5332] ? hfsplus_file_extend+0x1fc/0x1990 [ 85.672038][ T5332] ? __pfx___mutex_lock+0x10/0x10 [ 85.672056][ T5332] hfsplus_file_extend+0x1fc/0x1990 [ 85.672079][ T5332] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.672092][ T5332] ? __mutex_trylock_common+0x153/0x260 [ 85.672104][ T5332] ? __pfx___mutex_trylock_common+0x10/0x10 [ 85.672114][ T5332] ? rcu_is_watching+0x15/0xb0 [ 85.672130][ T5332] ? trace_contention_end+0x39/0x120 [ 85.672140][ T5332] ? __mutex_lock+0x330/0xe80 [ 85.672154][ T5332] ? hfsplus_brec_find+0x191/0x500 [ 85.672164][ T5332] hfsplus_bmap_reserve+0x122/0x500 [ 85.672181][ T5332] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 85.672194][ T5332] __hfsplus_ext_cache_extent+0x89/0xe30 [ 85.672208][ T5332] hfsplus_file_extend+0x444/0x1990 [ 85.672221][ T5332] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.672233][ T5332] ? clean_bdev_aliases+0x5c9/0x6b0 [ 85.672246][ T5332] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 85.672259][ T5332] hfsplus_get_block+0x411/0x1530 [ 85.672273][ T5332] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.672284][ T5332] ? do_raw_spin_unlock+0x4d/0x240 [ 85.672295][ T5332] ? _raw_spin_unlock+0x28/0x50 [ 85.672309][ T5332] __block_write_begin_int+0x6b2/0x1900 [ 85.672323][ T5332] ? folio_add_lru+0x1b2/0x3d0 [ 85.672335][ T5332] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.672347][ T5332] ? __pfx___block_write_begin_int+0x10/0x10 [ 85.672359][ T5332] cont_write_begin+0x789/0xb50 [ 85.672402][ T5332] ? __pfx_cont_write_begin+0x10/0x10 [ 85.672418][ T5332] ? __pfx___might_resched+0x10/0x10 [ 85.672435][ T5332] ? folio_unlock+0x101/0x160 [ 85.672448][ T5332] hfsplus_write_begin+0x66/0xb0 [ 85.672458][ T5332] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.672469][ T5332] generic_perform_write+0x2c7/0x910 [ 85.672484][ T5332] ? __pfx_generic_perform_write+0x10/0x10 [ 85.672496][ T5332] ? file_update_time+0x2da/0x490 [ 85.672509][ T5332] ? __generic_file_write_iter+0xf9/0x230 [ 85.672520][ T5332] ? generic_file_write_iter+0xfb/0x540 [ 85.672532][ T5332] generic_file_write_iter+0x10f/0x540 [ 85.672547][ T5332] ? aa_file_perm+0x11f/0xed0 [ 85.672560][ T5332] ? __pfx_generic_file_write_iter+0x10/0x10 [ 85.672579][ T5332] ? __lock_acquire+0xab9/0xd20 [ 85.672597][ T5332] ? aio_write+0x4c4/0x7a0 [ 85.672610][ T5332] aio_write+0x535/0x7a0 [ 85.672622][ T5332] ? __pfx_aio_write+0x10/0x10 [ 85.672634][ T5332] ? __might_fault+0xb0/0x130 [ 85.672647][ T5332] io_submit_one+0x78b/0x1310 [ 85.672660][ T5332] ? __pfx_io_submit_one+0x10/0x10 [ 85.672669][ T5332] ? __might_fault+0xb0/0x130 [ 85.672679][ T5332] ? __might_fault+0xb0/0x130 [ 85.672688][ T5332] __se_sys_io_submit+0x185/0x2f0 [ 85.672698][ T5332] ? __pfx___se_sys_io_submit+0x10/0x10 [ 85.672709][ T5332] ? do_syscall_64+0xbe/0x3b0 [ 85.672724][ T5332] do_syscall_64+0xfa/0x3b0 [ 85.672738][ T5332] ? lockdep_hardirqs_on+0x9c/0x150 [ 85.672751][ T5332] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.672762][ T5332] ? clear_bhb_loop+0x60/0xb0 [ 85.672772][ T5332] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.672779][ T5332] RIP: 0033:0x7fb81578e929 [ 85.672787][ T5332] 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.672793][ T5332] RSP: 002b:00007fb811bd4038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 85.672800][ T5332] RAX: ffffffffffffffda RBX: 00007fb8159b6080 RCX: 00007fb81578e929 [ 85.672807][ T5332] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fb816502000 [ 85.672813][ T5332] RBP: 00007fb815810b39 R08: 0000000000000000 R09: 0000000000000000 [ 85.672819][ T5332] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.672824][ T5332] R13: 0000000000000000 R14: 00007fb8159b6080 R15: 00007ffe45c62028 [ 85.672835][ T5332] [ 86.031858][ T5331] syz.0.0 (5331) used greatest stack depth: 19368 bytes left