program: 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) syz_mount_image$ext4(&(0x7f0000000180)='ext4\x00', &(0x7f0000000000)='./bus\x00', 0x21081e, &(0x7f00000001c0)={[{@grpquota}, {@inode_readahead_blks={'inode_readahead_blks', 0x3d, 0x800}}, {@minixdf}]}, 0x1, 0x507, &(0x7f0000000ac0)="$eJzs3c9vG1kdAPCvnThx0uwmu+wBEOyW3YWCqjqJuxut9gDLCSG0EqJHkNrguFEUO45ipzQhh/TMFYlKnODIH8C5J+5cENy4FCQkfkSgBomD0YwnqZvaTdSkcTb+fKTRvJk39ff76sx78XPsF8DQuhoRuxExFhF3ImI6O5/LtviksyXXPdnbqezv7VRy0W7f+mcurU/ORde/SVzJHrMYMfKD70T8OPd83ObW9upirVbdyI5nW/X12ebW9o2V+uJydbm6Vi4vzC/MfXTzw/KZtfWd+lhW+vLj3+9+46dJWlPZme52nKVO0wuHcRKjEfG9VxFsAEay9owNOhFeSj4i3oyId9P7fzpG0mcTALjM2u3paE93HwMAl10+nQPL5UvZXMBU5POlUmcO762YzNcazdb1u43NtaXOXNlMFPJ3V2rVuWyucCYKueR4Pi0/PS4fOb4ZEW9ExM/HJ9LjUqVRWxrkLz4AMMSuHBn//zPeGf8BgEuuOOgEAIBzZ/wHgOFj/AeA4WP8B4Dh0xn/JwadBgBwjrz+B4DhY/wHgKHy/U8/Tbb2fvb910v3tjZXG/duLFWbq6X6ZqVUaWysl5YbjeX0O3vqxz1erdFYn/8gNu/PfHO92Zptbm3frjc211q30+/1vl0tpFftnkPLAIB+3njn0Z9yyYj88US6RddaDoWBZga8avlBJwAMzMigEwAGxmpfMLxO8Rrf9ABcEj2W6H1GsdcHhNrtdrtT8oYefAZd+4L5fxhWXfP//goYhoz5fxhe5v9heLXbuZOu+R8nvRAAuNjM8QN93v9/M9v/Jntz4EdLR694+CqzAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIvtYP3fUrYW+FTk86VSxGsRMROF3N2VWnUuIl6PiD+OF8aT4/kB5wwAnFb+b7ls/a9r0+9PPVP19pXD4lhE/OSXt35xf7HV2vhDxFjuX+MH51sPs/Pl888eADjewTid7rteyD/Z26k82dsZPe98/v7tiCh24u/vjcX+3k6lUzManWSKUYiIyX/noju5XNfcxWnsPoiIzx+2P90OIkylcyCdlU+Pxk9iv3a28f/64vj5Z+Ln07rOPvm/+NwZ5ALD5lHS/3zS6/7Px9V03/v+L6Y91Oll/V/yUJX9tA98Gv+g/xvp0/9dPWmMD3733U5p4vm6BxFfHI04iL3f1f8cxM/1if/+CeP/+Utvv9uvrv2riGvRO353rNlWfX22ubV9Y6W+uFxdrq6VywvzC3Mf3fywPJvOUc/2Hw3+8fH11/vVJe2f7BO/eEz7v3rC9v/6f3d++JUXxP/6e73i5+OtF8RPxsSvnTD+4uRvi/3qkvhLfdp/3PN//YTxH/9l+7llwwGAwWluba8u1mrVDQWFi19IfmQvQBo9C986r1hj0bvqZ+917ukjVe32S8Xq12OcxawbcBEc3vQR8d9BJwMAAAAAAAAAAAAAAPR0Hp9YGnQbAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuLz+HwAA//9PV80F") r0 = open(&(0x7f0000000240)='./file1\x00', 0x145142, 0x0) capset(&(0x7f0000000040)={0x20080522}, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x5, 0x80}) ftruncate(r0, 0x2007ffc) syz_emit_ethernet(0x26, &(0x7f0000000000)={@local, @random="429e82211cf8", @void, {@ipv4={0x800, @generic={{0x5, 0x4, 0x2, 0x0, 0x18, 0x67, 0x0, 0x2, 0x89, 0x0, @rand_addr=0x64010100, @multicast1}, "7550d72e"}}}}, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000640)=@updpolicy={0xb8, 0x19, 0xfd3649826d894c67, 0x0, 0x0, {{@in6=@mcast1, @in=@multicast1, 0x0, 0x0, 0x0, 0x0, 0xa}}}, 0xb8}, 0x1, 0x0, 0x0, 0x4004}, 0x0) bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000140)={0x6, 0x3, &(0x7f0000000680)=ANY=[@ANYBLOB="1800000002000000000000000000000095"], 0x0}, 0x90) r2 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000480)={0x6, 0x3, &(0x7f0000000680)=ANY=[], &(0x7f00000002c0)='syzkaller\x00'}, 0x90) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000600)={r2, 0x5, 0xb68, 0x0, &(0x7f0000000000)='%', 0x0, 0xd01, 0x300, 0x0, 0x0, 0x0, 0x0, 0x2}, 0x48) r3 = bpf$MAP_CREATE_RINGBUF(0x0, &(0x7f00000009c0)={0x1b, 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0}, 0x48) bpf$PROG_LOAD(0x5, &(0x7f0000002c40)={0x7, 0x17, &(0x7f00000007c0)=@ringbuf={{}, {{0x18, 0x1, 0x1, 0x0, r3}, {}, {}, {0x85, 0x0, 0x0, 0x5}}, {{0x6, 0x0, 0xb}, {0x66}}, [@printk={@lld, {0x3, 0x0, 0x3, 0xa, 0x9}, {0x5, 0x1, 0x5, 0x1, 0x9}, {0x7, 0x0, 0x3}, {}, {}, {0x15}}], {{0x7, 0x1, 0x3, 0x3}, {0x5, 0x0, 0xb, 0x3}, {0x85, 0x0, 0x0, 0x76}}}, &(0x7f0000000000)='syzkaller\x00', 0x0, 0x0, 0x0, 0x7a5a612c9070fe3f, 0x4c, '\x00', 0x0, @fallback, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x94) sendfile(r0, r0, 0x0, 0x800000009) [ 102.487315][ T4664] Bluetooth: hci0: command tx timeout [ 102.573781][ T5329] loop0: detected capacity change from 0 to 1024 [ 102.731419][ T24] audit: type=1800 audit(1774131628.757:2): pid=5329 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz.0.0" name="file1" dev="loop0" ino=20 res=0 errno=0 [ 102.747620][ T5329] [ 102.748871][ T5329] ============================================ [ 102.751940][ T5329] WARNING: possible recursive locking detected [ 102.754941][ T5329] syzkaller #0 Not tainted [ 102.757076][ T5329] -------------------------------------------- [ 102.759871][ T5329] syz.0.0/5329 is trying to acquire lock: [ 102.762347][ T5329] ffff888038b4b708 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1670 [ 102.769025][ T5329] [ 102.769025][ T5329] but task is already holding lock: [ 102.772616][ T5329] ffff888038b49c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 102.777532][ T5329] [ 102.777532][ T5329] other info that might help us debug this: [ 102.781185][ T5329] Possible unsafe locking scenario: [ 102.781185][ T5329] [ 102.784958][ T5329] CPU0 [ 102.786729][ T5329] ---- [ 102.788440][ T5329] lock(&HFSPLUS_I(inode)->extents_lock); [ 102.790933][ T5329] lock(&HFSPLUS_I(inode)->extents_lock); [ 102.793507][ T5329] [ 102.793507][ T5329] *** DEADLOCK *** [ 102.793507][ T5329] [ 102.797421][ T5329] May be due to missing lock nesting notation [ 102.797421][ T5329] [ 102.801573][ T5329] 4 locks held by syz.0.0/5329: [ 102.803816][ T5329] #0: ffff88803f504420 (sb_writers#12){.+.+}-{0:0}, at: do_ftruncate+0x47c/0x5c0 [ 102.808351][ T5329] #1: ffff888038b49df8 (&sb->s_type->i_mutex_key#25){+.+.}-{4:4}, at: do_truncate+0x18f/0x250 [ 102.815463][ T5329] #2: ffff888038b49c08 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 102.820869][ T5329] #3: ffff8880131878f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_allocate+0xa7/0xce0 [ 102.825369][ T5329] [ 102.825369][ T5329] stack backtrace: [ 102.827969][ T5329] CPU: 0 UID: 0 PID: 5329 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 102.827992][ T5329] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 102.828000][ T5329] Call Trace: [ 102.828012][ T5329] [ 102.828020][ T5329] dump_stack_lvl+0xe8/0x150 [ 102.828047][ T5329] print_deadlock_bug+0x279/0x290 [ 102.828063][ T5329] __lock_acquire+0x253f/0x2cf0 [ 102.828075][ T5329] ? lock_release+0x4b/0x3d0 [ 102.828087][ T5329] ? lock_release+0x4b/0x3d0 [ 102.828102][ T5329] ? is_bpf_text_address+0x292/0x2b0 [ 102.828117][ T5329] ? is_bpf_text_address+0x26/0x2b0 [ 102.828131][ T5329] lock_acquire+0xf0/0x2e0 [ 102.828146][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 102.828163][ T5329] __mutex_lock+0x19f/0x1300 [ 102.828381][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 102.828400][ T5329] ? stack_trace_save+0xa9/0x100 [ 102.828413][ T5329] ? __pfx_stack_trace_save+0x10/0x10 [ 102.828425][ T5329] ? check_path+0x21/0x40 [ 102.828437][ T5329] ? check_noncircular+0xda/0x150 [ 102.828450][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 102.828461][ T5329] ? __pfx___mutex_lock+0x10/0x10 [ 102.828472][ T5329] ? __lock_acquire+0x146e/0x2cf0 [ 102.828485][ T5329] hfsplus_get_block+0x39e/0x1670 [ 102.828502][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.828517][ T5329] ? block_read_full_folio+0x672/0x830 [ 102.828530][ T5329] block_read_full_folio+0x29f/0x830 [ 102.828542][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.828556][ T5329] filemap_read_folio+0x137/0x3b0 [ 102.828568][ T5329] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 102.828579][ T5329] ? __pfx_filemap_read_folio+0x10/0x10 [ 102.828587][ T5329] ? filemap_add_folio+0x356/0x530 [ 102.828602][ T5329] do_read_cache_folio+0x358/0x590 [ 102.828611][ T5329] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 102.828626][ T5329] read_cache_page+0x5d/0x170 [ 102.828636][ T5329] hfsplus_block_allocate+0xf3/0xce0 [ 102.828649][ T5329] ? blk_mq_submit_bio+0xef8/0x2810 [ 102.828703][ T5329] ? __pfx_blk_mq_flush_plug_list+0x10/0x10 [ 102.828715][ T5329] hfsplus_file_extend+0xb2d/0x1d70 [ 102.828737][ T5329] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 102.828753][ T5329] ? __submit_bio+0x28d/0x580 [ 102.828765][ T5329] ? __pfx___submit_bio+0x10/0x10 [ 102.828775][ T5329] ? bio_associate_blkg+0x6d/0x230 [ 102.828788][ T5329] hfsplus_get_block+0x42c/0x1670 [ 102.828803][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.828821][ T5329] __block_write_begin_int+0x6c6/0x1910 [ 102.828834][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.828860][ T5329] ? __pfx___block_write_begin_int+0x10/0x10 [ 102.828874][ T5329] cont_write_begin+0x737/0xae0 [ 102.828887][ T5329] ? unwind_get_return_address+0x4d/0x90 [ 102.828908][ T5329] ? __pfx_stack_trace_consume_entry+0x10/0x10 [ 102.828921][ T5329] ? __pfx_cont_write_begin+0x10/0x10 [ 102.828930][ T5329] ? stack_trace_save+0xa9/0x100 [ 102.828939][ T5329] ? __pfx_stack_trace_save+0x10/0x10 [ 102.828949][ T5329] ? check_path+0x21/0x40 [ 102.828964][ T5329] hfsplus_write_begin+0x66/0xb0 [ 102.828976][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.828991][ T5329] cont_write_begin+0x2e7/0xae0 [ 102.829003][ T5329] ? __pfx_cont_write_begin+0x10/0x10 [ 102.829015][ T5329] hfsplus_write_begin+0x66/0xb0 [ 102.829027][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 102.829043][ T5329] generic_cont_expand_simple+0x146/0x210 [ 102.829055][ T5329] ? __pfx_inode_dio_wait+0x10/0x10 [ 102.829064][ T5329] ? __pfx_generic_cont_expand_simple+0x10/0x10 [ 102.829073][ T5329] ? setattr_prepare+0x232/0xb30 [ 102.829081][ T5329] ? evm_inode_setattr+0x1b6/0x7d0 [ 102.829100][ T5329] hfsplus_setattr+0x169/0x270 [ 102.829115][ T5329] ? __pfx_hfsplus_setattr+0x10/0x10 [ 102.829127][ T5329] notify_change+0xc1a/0xf40 [ 102.829137][ T5329] do_truncate+0x1c2/0x250 [ 102.829149][ T5329] ? __pfx_do_truncate+0x10/0x10 [ 102.829161][ T5329] do_ftruncate+0x4db/0x5c0 [ 102.829172][ T5329] ? __pfx_do_ftruncate+0x10/0x10 [ 102.829182][ T5329] ? __fget_files+0x2a/0x420 [ 102.829196][ T5329] __x64_sys_ftruncate+0x92/0xf0 [ 102.829206][ T5329] do_syscall_64+0x14d/0xf80 [ 102.829217][ T5329] ? trace_irq_disable+0x3b/0x150 [ 102.829236][ T5329] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 102.829248][ T5329] ? clear_bhb_loop+0x40/0x90 [ 102.829260][ T5329] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 102.829270][ T5329] RIP: 0033:0x7fe94f79c799 [ 102.829291][ T5329] 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 [ 102.829302][ T5329] RSP: 002b:00007fe950578fe8 EFLAGS: 00000246 ORIG_RAX: 000000000000004d [ 102.829319][ T5329] RAX: ffffffffffffffda RBX: 00007fe94fa15fa0 RCX: 00007fe94f79c799 [ 102.829327][ T5329] RDX: 0000000000000000 RSI: 0000000002007ffc RDI: 0000000000000004 [ 102.829335][ T5329] RBP: 00007fe94f832c99 R08: 0000000000000000 R09: 0000000000000000 [ 102.829342][ T5329] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 102.829349][ T5329] R13: 00007fe94fa16038 R14: 00007fe94fa15fa0 R15: 00007fff246690e8 [ 102.829359][ T5329]