Warning: Permanently added '10.128.0.254' (ED25519) to the list of known hosts. executing program [ 52.881298][ T3500] loop0: detected capacity change from 0 to 1024 [ 52.962776][ T26] audit: type=1800 audit(1708647110.484:2): pid=3500 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor420" name="file1" dev="loop0" ino=20 res=0 errno=0 [ 52.965988][ T3500] [ 52.985827][ T3500] ============================================ [ 52.991988][ T3500] WARNING: possible recursive locking detected [ 52.998150][ T3500] 5.15.148-syzkaller #0 Not tainted [ 53.003353][ T3500] -------------------------------------------- [ 53.009607][ T3500] syz-executor420/3500 is trying to acquire lock: [ 53.016016][ T3500] ffff888012959548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{3:3}, at: hfsplus_get_block+0x37f/0x14e0 [ 53.027004][ T3500] [ 53.027004][ T3500] but task is already holding lock: [ 53.034356][ T3500] ffff88801295a988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{3:3}, at: hfsplus_file_extend+0x1d2/0x1b10 [ 53.045400][ T3500] [ 53.045400][ T3500] other info that might help us debug this: [ 53.053450][ T3500] Possible unsafe locking scenario: [ 53.053450][ T3500] [ 53.060893][ T3500] CPU0 [ 53.064173][ T3500] ---- [ 53.067445][ T3500] lock(&HFSPLUS_I(inode)->extents_lock); [ 53.073237][ T3500] lock(&HFSPLUS_I(inode)->extents_lock); [ 53.079034][ T3500] [ 53.079034][ T3500] *** DEADLOCK *** [ 53.079034][ T3500] [ 53.087176][ T3500] May be due to missing lock nesting notation [ 53.087176][ T3500] [ 53.095574][ T3500] 4 locks held by syz-executor420/3500: [ 53.101107][ T3500] #0: ffff888015dae460 (sb_writers#9){.+.+}-{0:0}, at: vfs_write+0x29a/0xe50 [ 53.109997][ T3500] #1: ffff88801295ab80 (&sb->s_type->i_mutex_key#15){+.+.}-{3:3}, at: generic_file_write_iter+0x7c/0x1b0 [ 53.121330][ T3500] #2: ffff88801295a988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{3:3}, at: hfsplus_file_extend+0x1d2/0x1b10 [ 53.132817][ T3500] #3: ffff8880239618f8 (&sbi->alloc_mutex){+.+.}-{3:3}, at: hfsplus_block_allocate+0x8a/0x8d0 [ 53.143171][ T3500] [ 53.143171][ T3500] stack backtrace: [ 53.149055][ T3500] CPU: 0 PID: 3500 Comm: syz-executor420 Not tainted 5.15.148-syzkaller #0 [ 53.157647][ T3500] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 [ 53.167694][ T3500] Call Trace: [ 53.170967][ T3500] [ 53.173891][ T3500] dump_stack_lvl+0x1e3/0x2cb [ 53.178567][ T3500] ? io_uring_drop_tctx_refs+0x19d/0x19d [ 53.184193][ T3500] ? panic+0x84d/0x84d [ 53.188255][ T3500] validate_chain+0x46d2/0x5930 [ 53.193103][ T3500] ? stack_trace_save+0x113/0x1c0 [ 53.198120][ T3500] ? stack_trace_snprint+0xe0/0xe0 [ 53.203245][ T3500] ? check_noncircular+0x1e1/0x3b0 [ 53.208361][ T3500] ? reacquire_held_locks+0x660/0x660 [ 53.213729][ T3500] ? add_chain_block+0x850/0x850 [ 53.218669][ T3500] ? lockdep_unlock+0x166/0x300 [ 53.223516][ T3500] ? look_up_lock_class+0x77/0x120 [ 53.228621][ T3500] ? register_lock_class+0x100/0x9a0 [ 53.233905][ T3500] ? is_dynamic_key+0x1f0/0x1f0 [ 53.238845][ T3500] ? validate_chain+0x13bd/0x5930 [ 53.243874][ T3500] ? mark_lock+0x98/0x340 [ 53.248197][ T3500] __lock_acquire+0x1295/0x1ff0 [ 53.253057][ T3500] lock_acquire+0x1db/0x4f0 [ 53.257553][ T3500] ? hfsplus_get_block+0x37f/0x14e0 [ 53.262750][ T3500] ? read_lock_is_recursive+0x10/0x10 [ 53.268112][ T3500] ? __might_sleep+0xc0/0xc0 [ 53.272695][ T3500] ? hfsplus_get_block+0x402/0x14e0 [ 53.277981][ T3500] ? is_dynamic_key+0x1f0/0x1f0 [ 53.282829][ T3500] ? __generic_file_write_iter+0x2a2/0x4f0 [ 53.288626][ T3500] ? vfs_write+0xacf/0xe50 [ 53.293034][ T3500] ? mark_lock+0x98/0x340 [ 53.297355][ T3500] __mutex_lock_common+0x1da/0x25a0 [ 53.302543][ T3500] ? hfsplus_get_block+0x37f/0x14e0 [ 53.307737][ T3500] ? hfsplus_get_block+0x37f/0x14e0 [ 53.313022][ T3500] ? mutex_lock_io_nested+0x60/0x60 [ 53.318216][ T3500] ? lockdep_softirqs_off+0x420/0x420 [ 53.323590][ T3500] mutex_lock_nested+0x17/0x20 [ 53.328352][ T3500] hfsplus_get_block+0x37f/0x14e0 [ 53.333380][ T3500] ? hfsplus_ext_write_extent+0x1f0/0x1f0 [ 53.339094][ T3500] ? do_raw_spin_unlock+0x137/0x8b0 [ 53.344283][ T3500] ? create_empty_buffers+0x5c0/0x6d0 [ 53.349653][ T3500] ? create_page_buffers+0x24b/0x330 [ 53.354933][ T3500] block_read_full_page+0x2f9/0xde0 [ 53.360229][ T3500] ? hfsplus_ext_write_extent+0x1f0/0x1f0 [ 53.365944][ T3500] ? block_is_partially_uptodate+0x2c0/0x2c0 [ 53.371923][ T3500] ? hfsplus_writepage+0x30/0x30 [ 53.376876][ T3500] do_read_cache_page+0x752/0x1040 [ 53.382079][ T3500] hfsplus_block_allocate+0xfa/0x8d0 [ 53.387371][ T3500] ? get_user_pages_locked+0x6b0/0x6b0 [ 53.392822][ T3500] ? stack_trace_save+0x113/0x1c0 [ 53.397843][ T3500] hfsplus_file_extend+0xa4c/0x1b10 [ 53.403038][ T3500] ? hfsplus_get_block+0x14e0/0x14e0 [ 53.408320][ T3500] ? get_user_pages_fast_only+0x40/0x40 [ 53.413862][ T3500] hfsplus_get_block+0x402/0x14e0 [ 53.418889][ T3500] ? hfsplus_ext_write_extent+0x1f0/0x1f0 [ 53.424604][ T3500] ? submit_page_section+0x66a/0xdd0 [ 53.430062][ T3500] ? hfsplus_ext_write_extent+0x1f0/0x1f0 [ 53.435777][ T3500] __blockdev_direct_IO+0x1b13/0x4f40 [ 53.441162][ T3500] ? sb_init_dio_done_wq+0x80/0x80 [ 53.446268][ T3500] ? invalidate_inode_pages2_range+0x1088/0x1230 [ 53.452615][ T3500] ? hfsplus_ext_write_extent+0x1f0/0x1f0 [ 53.458357][ T3500] ? invalidate_mapping_pagevec+0x30/0x30 [ 53.464087][ T3500] ? filemap_write_and_wait_range+0x1d3/0x280 [ 53.470245][ T3500] hfsplus_direct_IO+0xf6/0x1e0 [ 53.475093][ T3500] generic_file_direct_write+0x204/0x460 [ 53.480719][ T3500] __generic_file_write_iter+0x2a2/0x4f0 [ 53.486344][ T3500] generic_file_write_iter+0xa7/0x1b0 [ 53.491710][ T3500] vfs_write+0xacf/0xe50 [ 53.495956][ T3500] ? file_end_write+0x250/0x250 [ 53.500831][ T3500] ? __context_tracking_enter+0x5f/0x90 [ 53.506376][ T3500] ? __fdget_pos+0x2d2/0x380 [ 53.510967][ T3500] ksys_write+0x1a2/0x2c0 [ 53.515290][ T3500] ? print_irqtrace_events+0x210/0x210 [ 53.520758][ T3500] ? __ia32_sys_read+0x80/0x80 [ 53.525529][ T3500] ? syscall_enter_from_user_mode+0x2e/0x230 [ 53.531512][ T3500] ? lockdep_hardirqs_on+0x94/0x130 [ 53.536795][ T3500] ? syscall_enter_from_user_mode+0x2e/0x230 [ 53.542769][ T3500] do_syscall_64+0x3d/0xb0 [ 53.547268][ T3500] entry_SYSCALL_64_after_hwframe+0x61/0xcb [ 53.553155][ T3500] RIP: 0033:0x7fd3b5345639 [ 53.557563][ T3500] Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 61 17 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 [ 53.577261][ T3500] RSP: 002b:00007ffe965c8b58 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 53.585669][ T3500] RAX: ffffffffffffffda RBX: 00007ffe965c8d28 RCX: 00007fd3b5345639 [ 53.593634][ T3500] RDX: 000000000003fe00 RSI: 0000000020004200 RDI: 0000000000000004 [ 53.601622][ T3500] RBP: 00007fd3b53b9610 R08: 0000000000000000 R09: 00007ffe965c8d28 [ 53.609601][ T3500] R10: 00000000000006dc R11: 0000000000000246 R12: