program: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000006280)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=@newtaction={0xcc, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x6a00}, [{0xb8, 0x1, [@m_mirred={0xb4, 0x1, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{}, 0x2}}]}, {0x66, 0xa, "e649f80e1c2f0860fb1c45142a42ff2762ee82156c82166d2fc291d3f5079e590b374c0665ec5460b921e6f048bf4779698e76d29c5d3e39c217824f29cf4e4fd94c17e0a1d0be53da19f8f1c671277206e5bc79742d31bda87830108d895a33402b"}, {0xc}, {0xc}}}]}]}, 0xcc}}, 0x0) syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r1 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) openat$dir(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x42, 0x0) mkdirat(0xffffffffffffff9c, &(0x7f0000000080)='./file0\x00', 0x0) syz_mount_image$fuse(0x0, &(0x7f0000000200)='./bus\x00', 0x283016, 0x0, 0x1, 0x0, 0x0) mount$overlay(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000b80), 0x0, &(0x7f0000000180)={[{@workdir={'workdir', 0x3d, './bus'}}, {@lowerdir={'lowerdir', 0x3d, '.'}}, {@upperdir={'upperdir', 0x3d, './file0'}}]}) setxattr$security_capability(&(0x7f0000000240)='./file0/file1\x00', &(0x7f0000000280), 0x0, 0x0, 0x0) umount2(&(0x7f00000002c0)='./file0\x00', 0x9) capset(&(0x7f0000000500)={0x20080522}, &(0x7f0000000200)={0x200002, 0x200003, 0x801, 0x4, 0x7}) mount$overlay(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000b80), 0x8, &(0x7f0000000140)={[{@workdir={'workdir', 0x3d, './bus'}}, {@lowerdir={'lowerdir', 0x3d, '.'}}, {@upperdir={'upperdir', 0x3d, './file0'}}]}) r3 = openat(0xffffffffffffff9c, &(0x7f0000000280)='./file0\x00', 0x40000, 0x120) getdents64(r3, &(0x7f0000000480)=""/240, 0xffb3) io_submit(r2, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r1, &(0x7f0000000000), 0x70000}]) [ 68.413194][ T4669] Bluetooth: hci0: command tx timeout [ 68.450779][ T5318] loop0: detected capacity change from 0 to 1024 [ 68.560568][ T25] audit: type=1800 audit(1760351852.390:2): pid=5318 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 [ 68.576541][ T5318] overlay: ./bus is not a directory [ 68.584593][ T5318] overlay: ./bus is not a directory [ 68.601171][ T5318] [ 68.602123][ T5318] ====================================================== [ 68.604828][ T5318] WARNING: possible circular locking dependency detected [ 68.607881][ T5318] syzkaller #0 Not tainted [ 68.609686][ T5318] ------------------------------------------------------ [ 68.612720][ T5318] syz.0.0/5318 is trying to acquire lock: [ 68.615281][ T5318] ffff8880517fc108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1ba0 [ 68.620326][ T5318] [ 68.620326][ T5318] but task is already holding lock: [ 68.623495][ T5318] ffff88803fba20b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x290 [ 68.628100][ T5318] [ 68.628100][ T5318] which lock already depends on the new lock. [ 68.628100][ T5318] [ 68.632952][ T5318] [ 68.632952][ T5318] the existing dependency chain (in reverse order) is: [ 68.637035][ T5318] [ 68.637035][ T5318] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 68.640648][ T5318] lock_acquire+0x120/0x360 [ 68.643110][ T5318] __mutex_lock+0x187/0x1350 [ 68.645489][ T5318] hfsplus_find_init+0x168/0x290 [ 68.647764][ T5318] hfsplus_get_block+0x8dc/0x15d0 [ 68.649971][ T5318] block_read_full_folio+0x29f/0x830 [ 68.652550][ T5318] read_pages+0x35d/0x580 [ 68.655048][ T5318] page_cache_ra_unbounded+0x75e/0x9a0 [ 68.658413][ T5318] filemap_get_pages+0x468/0x1de0 [ 68.661282][ T5318] filemap_read+0x3f6/0x11a0 [ 68.663369][ T5318] __kernel_read+0x4cf/0x960 [ 68.665128][ T5318] integrity_kernel_read+0x89/0xd0 [ 68.667098][ T5318] ima_calc_file_hash+0x85e/0x16f0 [ 68.669633][ T5318] ima_collect_measurement+0x428/0x8f0 [ 68.672177][ T5318] process_measurement+0x1121/0x1a40 [ 68.675117][ T5318] ima_file_check+0xd7/0x120 [ 68.676900][ T5318] security_file_post_open+0xbb/0x290 [ 68.679805][ T5318] path_openat+0x2f26/0x3830 [ 68.682530][ T5318] do_filp_open+0x1fa/0x410 [ 68.684927][ T5318] do_sys_openat2+0x121/0x1c0 [ 68.687174][ T5318] __x64_sys_openat+0x138/0x170 [ 68.689496][ T5318] do_syscall_64+0xfa/0xfa0 [ 68.691714][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.694362][ T5318] [ 68.694362][ T5318] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 68.698293][ T5318] validate_chain+0xb9b/0x2140 [ 68.700548][ T5318] __lock_acquire+0xab9/0xd20 [ 68.702805][ T5318] lock_acquire+0x120/0x360 [ 68.705034][ T5318] __mutex_lock+0x187/0x1350 [ 68.707299][ T5318] hfsplus_file_extend+0x1f8/0x1ba0 [ 68.709787][ T5318] hfsplus_bmap_reserve+0x122/0x500 [ 68.712282][ T5318] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 68.714879][ T5318] __hfsplus_ext_cache_extent+0x89/0xe30 [ 68.717630][ T5318] hfsplus_file_extend+0x437/0x1ba0 [ 68.720174][ T5318] hfsplus_get_block+0x40a/0x15d0 [ 68.722613][ T5318] __block_write_begin_int+0x6b5/0x1900 [ 68.725294][ T5318] cont_write_begin+0x789/0xb50 [ 68.727698][ T5318] hfsplus_write_begin+0x66/0xb0 [ 68.730143][ T5318] generic_perform_write+0x2c5/0x900 [ 68.732623][ T5318] generic_file_write_iter+0x117/0x550 [ 68.735354][ T5318] aio_write+0x535/0x7a0 [ 68.737533][ T5318] io_submit_one+0x78b/0x1310 [ 68.739461][ T5318] __se_sys_io_submit+0x185/0x2f0 [ 68.741934][ T5318] do_syscall_64+0xfa/0xfa0 [ 68.744060][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.746803][ T5318] [ 68.746803][ T5318] other info that might help us debug this: [ 68.746803][ T5318] [ 68.751180][ T5318] Possible unsafe locking scenario: [ 68.751180][ T5318] [ 68.754426][ T5318] CPU0 CPU1 [ 68.756729][ T5318] ---- ---- [ 68.758930][ T5318] lock(&tree->tree_lock/1); [ 68.760877][ T5318] lock(&HFSPLUS_I(inode)->extents_lock); [ 68.764331][ T5318] lock(&tree->tree_lock/1); [ 68.767337][ T5318] lock(&HFSPLUS_I(inode)->extents_lock); [ 68.769811][ T5318] [ 68.769811][ T5318] *** DEADLOCK *** [ 68.769811][ T5318] [ 68.773310][ T5318] 3 locks held by syz.0.0/5318: [ 68.775262][ T5318] #0: ffff8880517feb78 (&sb->s_type->i_mutex_key#20){++++}-{4:4}, at: generic_file_write_iter+0xeb/0x550 [ 68.779773][ T5318] #1: ffff8880517fe988 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1ba0 [ 68.783622][ T5318] #2: ffff88803fba20b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x290 [ 68.787629][ T5318] [ 68.787629][ T5318] stack backtrace: [ 68.789866][ T5318] CPU: 0 UID: 0 PID: 5318 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 68.789884][ T5318] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 68.789894][ T5318] Call Trace: [ 68.789903][ T5318] [ 68.789911][ T5318] dump_stack_lvl+0x189/0x250 [ 68.789934][ T5318] ? __pfx_dump_stack_lvl+0x10/0x10 [ 68.789950][ T5318] ? __pfx__printk+0x10/0x10 [ 68.789968][ T5318] ? print_lock_name+0xde/0x100 [ 68.789984][ T5318] print_circular_bug+0x2ee/0x310 [ 68.790010][ T5318] check_noncircular+0x134/0x160 [ 68.790049][ T5318] validate_chain+0xb9b/0x2140 [ 68.790074][ T5318] ? rcu_is_watching+0x15/0xb0 [ 68.790099][ T5318] ? __kasan_check_byte+0x12/0x40 [ 68.790119][ T5318] ? rcu_is_watching+0x15/0xb0 [ 68.790144][ T5318] ? look_up_lock_class+0x74/0x170 [ 68.790160][ T5318] ? register_lock_class+0x51/0x320 [ 68.790184][ T5318] __lock_acquire+0xab9/0xd20 [ 68.790207][ T5318] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 68.790230][ T5318] lock_acquire+0x120/0x360 [ 68.790249][ T5318] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 68.790277][ T5318] __mutex_lock+0x187/0x1350 [ 68.790290][ T5318] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 68.790312][ T5318] ? check_path+0x21/0x40 [ 68.790336][ T5318] ? check_noncircular+0xe0/0x160 [ 68.790360][ T5318] ? hfsplus_file_extend+0x1f8/0x1ba0 [ 68.790383][ T5318] ? lockdep_unlock+0x89/0x120 [ 68.790402][ T5318] ? __pfx___mutex_lock+0x10/0x10 [ 68.790424][ T5318] hfsplus_file_extend+0x1f8/0x1ba0 [ 68.790451][ T5318] ? __lock_acquire+0xab9/0xd20 [ 68.790476][ T5318] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 68.790502][ T5318] ? __pfx___mutex_trylock_common+0x10/0x10 [ 68.790526][ T5318] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.790542][ T5318] ? rcu_is_watching+0x15/0xb0 [ 68.790565][ T5318] ? trace_contention_end+0x39/0x120 [ 68.790591][ T5318] ? __asan_memset+0x22/0x50 [ 68.790603][ T5318] ? hfsplus_brec_find+0x1a9/0x510 [ 68.790615][ T5318] hfsplus_bmap_reserve+0x122/0x500 [ 68.790627][ T5318] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 68.790636][ T5318] __hfsplus_ext_cache_extent+0x89/0xe30 [ 68.790647][ T5318] hfsplus_file_extend+0x437/0x1ba0 [ 68.790665][ T5318] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 68.790680][ T5318] ? clean_bdev_aliases+0x5c9/0x6b0 [ 68.790693][ T5318] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 68.790702][ T5318] hfsplus_get_block+0x40a/0x15d0 [ 68.790713][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 68.790722][ T5318] ? do_raw_spin_unlock+0x4d/0x240 [ 68.790729][ T5318] ? _raw_spin_unlock+0x28/0x50 [ 68.790740][ T5318] __block_write_begin_int+0x6b5/0x1900 [ 68.790749][ T5318] ? __pfx_workingset_update_node+0x10/0x10 [ 68.790759][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 68.790769][ T5318] ? __pfx___block_write_begin_int+0x10/0x10 [ 68.790779][ T5318] cont_write_begin+0x789/0xb50 [ 68.790789][ T5318] ? __pfx_cont_write_begin+0x10/0x10 [ 68.790797][ T5318] ? __pfx___might_resched+0x10/0x10 [ 68.790807][ T5318] ? __mark_inode_dirty+0x3d2/0xe10 [ 68.790816][ T5318] ? folio_unlock+0x101/0x160 [ 68.790824][ T5318] hfsplus_write_begin+0x66/0xb0 [ 68.790833][ T5318] ? __pfx_hfsplus_get_block+0x10/0x10 [ 68.790843][ T5318] generic_perform_write+0x2c5/0x900 [ 68.790853][ T5318] ? __pfx_generic_perform_write+0x10/0x10 [ 68.790860][ T5318] ? file_update_time+0x2da/0x490 [ 68.790869][ T5318] ? __generic_file_write_iter+0xf9/0x230 [ 68.790876][ T5318] ? generic_file_write_iter+0x103/0x550 [ 68.790883][ T5318] generic_file_write_iter+0x117/0x550 [ 68.790891][ T5318] ? __pfx_generic_file_write_iter+0x10/0x10 [ 68.790898][ T5318] ? _raw_spin_unlock_irqrestore+0xad/0x110 [ 68.790907][ T5318] ? __pfx__raw_spin_unlock_irqrestore+0x10/0x10 [ 68.790916][ T5318] ? __pfx_aa_file_perm+0x10/0x10 [ 68.790924][ T5318] ? __lock_acquire+0xab9/0xd20 [ 68.790935][ T5318] ? aio_write+0x4c4/0x7a0 [ 68.790943][ T5318] aio_write+0x535/0x7a0 [ 68.790951][ T5318] ? __pfx_aio_write+0x10/0x10 [ 68.790960][ T5318] ? __might_fault+0xb0/0x130 [ 68.790971][ T5318] io_submit_one+0x78b/0x1310 [ 68.790981][ T5318] ? __pfx_io_submit_one+0x10/0x10 [ 68.790993][ T5318] ? __might_fault+0xb0/0x130 [ 68.791006][ T5318] ? __might_fault+0xb0/0x130 [ 68.791019][ T5318] __se_sys_io_submit+0x185/0x2f0 [ 68.791030][ T5318] ? __pfx___se_sys_io_submit+0x10/0x10 [ 68.791047][ T5318] ? do_syscall_64+0xbe/0xfa0 [ 68.791054][ T5318] do_syscall_64+0xfa/0xfa0 [ 68.791060][ T5318] ? lockdep_hardirqs_on+0x9c/0x150 [ 68.791072][ T5318] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.791078][ T5318] ? clear_bhb_loop+0x60/0xb0 [ 68.791085][ T5318] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 68.791093][ T5318] RIP: 0033:0x7f6d8d78eec9 [ 68.791102][ T5318] 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 [ 68.791107][ T5318] RSP: 002b:00007f6d8e6a1038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 68.791116][ T5318] RAX: ffffffffffffffda RBX: 00007f6d8d9e5fa0 RCX: 00007f6d8d78eec9 [ 68.791121][ T5318] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f6d8e657000 [ 68.791125][ T5318] RBP: 00007f6d8d811f91 R08: 0000000000000000 R09: 0000000000000000 [ 68.791129][ T5318] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 68.791133][ T5318] R13: 00007f6d8d9e6038 R14: 00007f6d8d9e5fa0 R15: 00007fff9941e3b8 [ 68.791140][ T5318]