program: sendmmsg$inet(0xffffffffffffffff, &(0x7f00000008c0)=[{{0x0, 0x0, &(0x7f00000006c0)=[{&(0x7f0000000140)="f1a0fa9090d465b080d9209c8845fdcaef275aaa15abcd5cd1153a72ef30f13819e7e8929f54ba0f61cab747ec572e7721478ce702eaa7b4", 0x38}], 0x1}}], 0x1, 0x4000) (async) sendmmsg$inet(0xffffffffffffffff, &(0x7f00000008c0)=[{{0x0, 0x0, &(0x7f00000006c0)=[{&(0x7f0000000140)="f1a0fa9090d465b080d9209c8845fdcaef275aaa15abcd5cd1153a72ef30f13819e7e8929f54ba0f61cab747ec572e7721478ce702eaa7b4", 0x38}], 0x1}}], 0x1, 0x4000) syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080), 0x3, 0x5f4, &(0x7f0000000640)="$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") setxattr(&(0x7f0000000040)='./file0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB='osx.'], 0x0, 0x0, 0x0) (async) setxattr(&(0x7f0000000040)='./file0\x00', &(0x7f0000000140)=ANY=[@ANYBLOB='osx.'], 0x0, 0x0, 0x0) r0 = open(&(0x7f00000001c0)='./file1\x00', 0x6acc6bf18792a39a, 0x15f) pwritev2(r0, &(0x7f0000000240)=[{&(0x7f0000000000)="85", 0x140000}], 0x1, 0x7800, 0x0, 0x3) write$tcp_congestion(r0, &(0x7f0000000140)='hybla\x00', 0x6) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x1d, &(0x7f0000000000)={0x6, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, &(0x7f00000000c0)=0x1c) [ 85.226062][ T5303] Bluetooth: hci0: command tx timeout [ 85.279034][ T5323] loop0: detected capacity change from 0 to 1024 [ 85.389350][ T5323] [ 85.390755][ T5323] ============================================ [ 85.393647][ T5323] WARNING: possible recursive locking detected [ 85.396168][ T5323] syzkaller #0 Not tainted [ 85.398208][ T5323] -------------------------------------------- [ 85.400694][ T5323] syz.0.0/5323 is trying to acquire lock: [ 85.403514][ T5323] ffff8880431cb708 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1670 [ 85.408774][ T5323] [ 85.408774][ T5323] but task is already holding lock: [ 85.411724][ T5323] ffff8880431c9c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 85.416449][ T5323] [ 85.416449][ T5323] other info that might help us debug this: [ 85.420358][ T5323] Possible unsafe locking scenario: [ 85.420358][ T5323] [ 85.424063][ T5323] CPU0 [ 85.425503][ T5323] ---- [ 85.426887][ T5323] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.429485][ T5323] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.432238][ T5323] [ 85.432238][ T5323] *** DEADLOCK *** [ 85.432238][ T5323] [ 85.436616][ T5323] May be due to missing lock nesting notation [ 85.436616][ T5323] [ 85.440639][ T5323] 4 locks held by syz.0.0/5323: [ 85.442758][ T5323] #0: ffff888043276420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 85.446533][ T5323] #1: ffff8880431c9df8 (&sb->s_type->i_mutex_key#25){+.+.}-{4:4}, at: do_truncate+0x18f/0x250 [ 85.451276][ T5323] #2: ffff8880431c9c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 85.456696][ T5323] #3: ffff88801209a8f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xc7/0x630 [ 85.461026][ T5323] [ 85.461026][ T5323] stack backtrace: [ 85.463745][ T5323] CPU: 0 UID: 0 PID: 5323 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.463764][ T5323] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.463797][ T5323] Call Trace: [ 85.463804][ T5323] [ 85.463809][ T5323] dump_stack_lvl+0xe8/0x150 [ 85.463831][ T5323] print_deadlock_bug+0x279/0x290 [ 85.463851][ T5323] __lock_acquire+0x253f/0x2cf0 [ 85.463866][ T5323] ? lock_release+0x4b/0x3d0 [ 85.463887][ T5323] ? lock_release+0x4b/0x3d0 [ 85.463902][ T5323] ? is_bpf_text_address+0x292/0x2b0 [ 85.463915][ T5323] ? is_bpf_text_address+0x26/0x2b0 [ 85.463928][ T5323] lock_acquire+0xf0/0x2e0 [ 85.463942][ T5323] ? hfsplus_get_block+0x39e/0x1670 [ 85.463961][ T5323] __mutex_lock+0x19f/0x1300 [ 85.464016][ T5323] ? hfsplus_get_block+0x39e/0x1670 [ 85.464032][ T5323] ? stack_trace_save+0xa9/0x100 [ 85.464044][ T5323] ? __pfx_stack_trace_save+0x10/0x10 [ 85.464057][ T5323] ? check_path+0x21/0x40 [ 85.464072][ T5323] ? check_noncircular+0xda/0x150 [ 85.464086][ T5323] ? hfsplus_get_block+0x39e/0x1670 [ 85.464104][ T5323] ? __pfx___mutex_lock+0x10/0x10 [ 85.464115][ T5323] ? __lock_acquire+0x146e/0x2cf0 [ 85.464133][ T5323] hfsplus_get_block+0x39e/0x1670 [ 85.464152][ T5323] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.464171][ T5323] ? block_read_full_folio+0x672/0x830 [ 85.464186][ T5323] block_read_full_folio+0x29f/0x830 [ 85.464201][ T5323] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.464217][ T5323] filemap_read_folio+0x137/0x3b0 [ 85.464230][ T5323] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.464246][ T5323] ? __pfx_filemap_read_folio+0x10/0x10 [ 85.464257][ T5323] ? filemap_add_folio+0x356/0x530 [ 85.464275][ T5323] do_read_cache_folio+0x358/0x590 [ 85.464287][ T5323] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.464305][ T5323] read_cache_page+0x5d/0x170 [ 85.464320][ T5323] hfsplus_block_free+0x134/0x630 [ 85.464337][ T5323] ? __kmalloc_noprof+0x37d/0x760 [ 85.464357][ T5323] hfsplus_free_extents+0x121/0xa50 [ 85.464377][ T5323] hfsplus_file_truncate+0x762/0xc30 [ 85.464399][ T5323] ? __pfx___up_read+0x10/0x10 [ 85.464412][ T5323] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 85.464432][ T5323] ? unmap_mapping_range+0xe6/0x180 [ 85.464444][ T5323] ? __pfx_unmap_mapping_range+0x10/0x10 [ 85.464457][ T5323] ? setattr_prepare+0x232/0xb30 [ 85.464470][ T5323] ? truncate_setsize+0xcf/0xf0 [ 85.464487][ T5323] hfsplus_setattr+0x1c4/0x270 [ 85.464504][ T5323] ? __pfx_hfsplus_setattr+0x10/0x10 [ 85.464522][ T5323] notify_change+0xc1a/0xf40 [ 85.464539][ T5323] do_truncate+0x1c2/0x250 [ 85.464552][ T5323] ? __pfx_do_truncate+0x10/0x10 [ 85.464566][ T5323] ? apparmor_file_truncate+0x39f/0x470 [ 85.464618][ T5323] path_openat+0x2f89/0x3860 [ 85.464638][ T5323] ? __pfx_path_openat+0x10/0x10 [ 85.464648][ T5323] ? __x64_sys_open+0x11e/0x150 [ 85.464664][ T5323] ? __lock_acquire+0x6b5/0x2cf0 [ 85.464681][ T5323] do_file_open+0x23e/0x4a0 [ 85.464694][ T5323] ? __pfx_do_file_open+0x10/0x10 [ 85.464719][ T5323] ? _raw_spin_unlock+0x28/0x50 [ 85.464737][ T5323] ? alloc_fd+0x64b/0x6c0 [ 85.464754][ T5323] do_sys_openat2+0x113/0x200 [ 85.464770][ T5323] ? __se_sys_futex+0x3a8/0x450 [ 85.464786][ T5323] ? __pfx_do_sys_openat2+0x10/0x10 [ 85.464802][ T5323] ? rcu_is_watching+0x15/0xb0 [ 85.464821][ T5323] __x64_sys_open+0x11e/0x150 [ 85.464838][ T5323] do_syscall_64+0x14d/0xf80 [ 85.464852][ T5323] ? trace_irq_disable+0x3b/0x150 [ 85.464869][ T5323] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.464884][ T5323] ? clear_bhb_loop+0x40/0x90 [ 85.464893][ T5323] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.464903][ T5323] RIP: 0033:0x7f4a7d99c799 [ 85.464933][ T5323] 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 [ 85.464943][ T5323] RSP: 002b:00007f4a7e7b6fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000002 [ 85.464975][ T5323] RAX: ffffffffffffffda RBX: 00007f4a7dc15fa0 RCX: 00007f4a7d99c799 [ 85.464985][ T5323] RDX: 000000000000015f RSI: 6acc6bf18792a39a RDI: 00002000000001c0 [ 85.464993][ T5323] RBP: 00007f4a7da32c99 R08: 0000000000000000 R09: 0000000000000000 [ 85.465000][ T5323] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.465008][ T5323] R13: 00007f4a7dc16038 R14: 00007f4a7dc15fa0 R15: 00007ffe93e48168 [ 85.465020][ T5323] [ 85.710645][ T5323] hfsplus: unable to mark blocks free: error -5 [ 85.713679][ T5323] hfsplus: can't free extent: start 134, count 1