program: mkdirat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0) r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000540)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a20000000000a03000000000000000000010000000900010073797a300000040044210000090a010400000000000000000100000008000a40000000000900020073797a32000000000900010073797a3000000000080005400000001d0800034000000007140000000c0a0102000000000000000001000002140000001000010000000000000000000000000ae7c7577bd6d1d3e08350bead022aa2bcc719f802cb296d7da7cfe59e688d2f14d969f8e24caf4264b07f1ab4bbeb9e44dbe613929c77c8063639c1aacd9387e78c9d0904757a7cb54faef6cc0cd1e9dd233c8c6a9420dd44254e2b5dae986f3c56d7e676653360"], 0xa0}}, 0x0) mount$cgroup(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000040), 0x0, &(0x7f00000001c0)={[{@name={'name', 0x3d, '\xfc*z\x9d\xea?F\xc6_Y\xa7\xd1\x8d\xd2\x92\xb7\xe8C\xe3Vq\xf1fQ\xc8\x84\xdc\x03\x8er\x0eP\xe1/\x81\xc4E\x15i\xf3}\xd4#\xfd\x9cc\xe0v\xe7k\xfb9\x98iv\xed\x93\xa0`g\xdd\xc5\xc5\x89\xb7\xe0\xa8/\xe6[E\x88P\xff\x98\x1f\xefK\x9b\xe4\x92\xf6\xe7\x1f\xf0\x92m\x9c \xfeAJ\x15\xb8l\xe4a\xe8\x8bp\xea\x01WC\x98\xc2\xd4m\x99\xd4b \x8c\xa2\xa6g\x9f\x1b\xddF\x8dH\x81\xb6\xf6%}\f!h\xd5\xaa?\b\x92\xe6\xda\xf1\xab\x86Z\xca\xe9\xd6`|D)6\x8a\x9e\x7f\xc1)\xd2\x94\xe2Q\x9a\x16\xca'}}]}) syz_mount_image$hfsplus(&(0x7f0000000100), &(0x7f0000000180)='./file1\x00', 0x1008400, &(0x7f0000000140)=ANY=[], 0x85, 0x687, &(0x7f0000000a40)="$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") r1 = open(&(0x7f0000000240)='./file1\x00', 0x145142, 0x0) r2 = syz_open_dev$ublk_bdev(&(0x7f0000000080), 0x0, 0x80000) read$ublk_bdev(r2, &(0x7f0000000340)=""/125, 0x7d) ftruncate(r1, 0x7ffa) readlinkat(r1, &(0x7f0000000140)='./file1\x00', &(0x7f00000003c0)=""/112, 0x70) r3 = open(&(0x7f0000000200)='./bus\x00', 0x1ad941, 0x176) pwritev2(r3, &(0x7f0000000240)=[{&(0x7f0000000000)="85", 0x6a000}], 0x1, 0x7000, 0x0, 0x3) ioctl$USBDEVFS_DISCONNECT_CLAIM(r3, 0x8108551b, &(0x7f0000000680)={0x8, 0x3, "1453d2995a844dd63fd30e3a8d4286894693eda0464d4960c34fc933d39f2d347477084fc2f144867ebd1cd4acb6e8fc0bd05d778521f2e6677765d95900cead32496e44e440a6052419bd4f302b1762afd6d5a7206b6c118fbd4a6fa817486e0952d84fecb81daa31e419b49e4e36bb50ea2f321d3e5e5182cf5477f4b7327797cb4f2e890843e13cd98de3ccd0e46a76177ef8d927ce015bd912795a1ec2c041857637d6aebbf4e7a78cea935c43c6069ed4aa72b6039a73fff27a9643728a7b499184921519e864bcb73fd38819c7aae87e5b44b1a2665013de166f2233aea96e48f7754ba60636d1a73240eaba06f62b0f62907edf17d9e79c437b9338c1"}) r4 = openat$ublk_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) r5 = syz_ublk_setup_io_uring(0x20, &(0x7f0000000040), &(0x7f00000000c0)=0x0, &(0x7f0000000100)=0x0, &(0x7f0000000140)=0x0) r9 = syz_ublk_add_dev(r5, r6, r7, r8, &(0x7f0000000200)={0x2e, 0x0, 0x0, r4, 0xc0207504, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', {0xffffffff, 0xffff, 0x48, &(0x7f0000000500)=@new_dev={0x1, 0x4}}}, &(0x7f0000000300)) syz_open_dev$ublk_chdev(&(0x7f0000002000), r9, 0x2) ioctl$UBLK_U_CMD_STOP_DEV(r1, 0xc0207507, &(0x7f00000002c0)={r9}) r10 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r10, 0x6, 0x13, &(0x7f0000000040)=0x100000001, 0x4) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r10, 0x6, 0x14, &(0x7f0000000280)=0x1, 0x4) connect$inet6(r10, &(0x7f0000000080)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @remote}}, 0x1c) sendto$inet6(r10, &(0x7f00000001c0)="a6", 0x1, 0x840, 0x0, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r10, 0x6, 0x23, &(0x7f0000000500)={&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x11000, 0x0, 0x0}, &(0x7f0000000000)=0x40) sendfile(r1, r1, 0x0, 0x800000009) [ 104.922217][ T44] Bluetooth: hci0: command tx timeout [ 102.841857][ T44] Bluetooth: hci0: command tx timeout [ 102.919074][ T5328] cgroup: Name too long [ 102.944836][ T5328] loop0: detected capacity change from 0 to 1024 [ 103.024177][ T24] audit: type=1800 audit(1782560256.071:2): pid=5328 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 [ 103.042200][ T5328] [ 103.043855][ T5328] ============================================ [ 103.046889][ T5328] WARNING: possible recursive locking detected [ 103.050514][ T5328] syzkaller #0 Not tainted [ 103.052470][ T5328] -------------------------------------------- [ 103.055104][ T5328] syz.0.0/5328 is trying to acquire lock: [ 103.057517][ T5328] ffff88804feb3300 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x391/0x1610 [ 103.062547][ T5328] [ 103.062547][ T5328] but task is already holding lock: [ 103.066063][ T5328] ffff88804feb2680 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 103.070810][ T5328] [ 103.070810][ T5328] other info that might help us debug this: [ 103.074193][ T5328] Possible unsafe locking scenario: [ 103.074193][ T5328] [ 103.078648][ T5328] CPU0 [ 103.080300][ T5328] ---- [ 103.081770][ T5328] lock(&HFSPLUS_I(inode)->extents_lock); [ 103.084327][ T5328] lock(&HFSPLUS_I(inode)->extents_lock); [ 103.086709][ T5328] [ 103.086709][ T5328] *** DEADLOCK *** [ 103.086709][ T5328] [ 103.090333][ T5328] May be due to missing lock nesting notation [ 103.090333][ T5328] [ 103.094645][ T5328] 4 locks held by syz.0.0/5328: [ 103.097162][ T5328] #0: ffff888033862450 (sb_writers#12){.+.+}-{0:0}, at: do_ftruncate+0x474/0x580 [ 103.101288][ T5328] #1: ffff88804feb2818 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: do_truncate+0x18f/0x250 [ 103.105770][ T5328] #2: ffff88804feb2680 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 103.111243][ T5328] #3: ffff8880442ea0f0 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_allocate+0xa9/0xd30 [ 103.116226][ T5328] [ 103.116226][ T5328] stack backtrace: [ 103.118870][ T5328] CPU: 0 UID: 0 PID: 5328 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 103.118888][ T5328] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 103.118896][ T5328] Call Trace: [ 103.118905][ T5328] [ 103.118911][ T5328] dump_stack_lvl+0xe8/0x150 [ 103.118935][ T5328] print_deadlock_bug+0x279/0x290 [ 103.118950][ T5328] __lock_acquire+0x24df/0x2cf0 [ 103.118964][ T5328] ? lock_release+0x4b/0x3c0 [ 103.118975][ T5328] ? lock_release+0x4b/0x3c0 [ 103.118987][ T5328] ? is_bpf_text_address+0x292/0x2b0 [ 103.118999][ T5328] ? is_bpf_text_address+0x26/0x2b0 [ 103.119010][ T5328] ? kernel_text_address+0xa5/0xe0 [ 103.119024][ T5328] ? hfsplus_get_block+0x391/0x1610 [ 103.119036][ T5328] lock_acquire+0x106/0x350 [ 103.119054][ T5328] ? hfsplus_get_block+0x391/0x1610 [ 103.119071][ T5328] __mutex_lock+0x19d/0x1550 [ 103.119130][ T5328] ? hfsplus_get_block+0x391/0x1610 [ 103.119144][ T5328] ? check_path+0x21/0x40 [ 103.119157][ T5328] ? check_noncircular+0xda/0x150 [ 103.119170][ T5328] ? add_lock_to_list+0xc7/0x100 [ 103.119182][ T5328] ? hfsplus_get_block+0x391/0x1610 [ 103.119195][ T5328] ? __pfx___mutex_lock+0x10/0x10 [ 103.119210][ T5328] hfsplus_get_block+0x391/0x1610 [ 103.119223][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119238][ T5328] ? block_read_full_folio+0x65a/0x810 [ 103.119253][ T5328] block_read_full_folio+0x29f/0x810 [ 103.119266][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119278][ T5328] filemap_read_folio+0x12c/0x3a0 [ 103.119292][ T5328] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 103.119301][ T5328] ? __pfx_filemap_read_folio+0x10/0x10 [ 103.119315][ T5328] ? filemap_add_folio+0x350/0x530 [ 103.119327][ T5328] do_read_cache_folio+0x354/0x590 [ 103.119340][ T5328] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 103.119353][ T5328] read_cache_page+0x5d/0x170 [ 103.119365][ T5328] hfsplus_block_allocate+0xf7/0xd30 [ 103.119376][ T5328] ? lockdep_hardirqs_on+0x7a/0x110 [ 103.119387][ T5328] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 103.119406][ T5328] hfsplus_file_extend+0xb77/0x1df0 [ 103.119419][ T5328] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 103.119429][ T5328] ? blk_mq_submit_bio+0x2f8/0x2a80 [ 103.119483][ T5328] ? __pfx_blk_mq_submit_bio+0x10/0x10 [ 103.119495][ T5328] ? blk_cgroup_bio_start+0x5d4/0x670 [ 103.119508][ T5328] ? percpu_ref_put+0x1e/0x230 [ 103.119522][ T5328] ? __pfx_blk_cgroup_bio_start+0x10/0x10 [ 103.119537][ T5328] hfsplus_get_block+0x41f/0x1610 [ 103.119556][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119566][ T5328] ? submit_bio_noacct+0xf7b/0x1b20 [ 103.119578][ T5328] ? blkcg_set_ioprio+0x16b/0x2a0 [ 103.119592][ T5328] __block_write_begin_int+0x6c2/0x1900 [ 103.119607][ T5328] ? filemap_add_folio+0x350/0x530 [ 103.119616][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119628][ T5328] ? __pfx___block_write_begin_int+0x10/0x10 [ 103.119643][ T5328] cont_write_begin+0x71b/0xac0 [ 103.119658][ T5328] ? __pfx_cont_write_begin+0x10/0x10 [ 103.119671][ T5328] ? add_lock_to_list+0xc7/0x100 [ 103.119685][ T5328] hfsplus_write_begin+0x66/0xb0 [ 103.119695][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119706][ T5328] cont_write_begin+0x2d6/0xac0 [ 103.119721][ T5328] ? __pfx_cont_write_begin+0x10/0x10 [ 103.119734][ T5328] hfsplus_write_begin+0x66/0xb0 [ 103.119743][ T5328] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.119756][ T5328] generic_cont_expand_simple+0x146/0x210 [ 103.119770][ T5328] ? __pfx_inode_dio_wait+0x10/0x10 [ 103.119782][ T5328] ? __pfx_generic_cont_expand_simple+0x10/0x10 [ 103.119796][ T5328] ? current_time+0x25a/0x380 [ 103.119806][ T5328] ? __pfx_current_time+0x10/0x10 [ 103.119817][ T5328] hfsplus_setattr+0x15f/0x260 [ 103.119829][ T5328] ? __pfx_hfsplus_setattr+0x10/0x10 [ 103.119839][ T5328] notify_change+0xbba/0xea0 [ 103.119854][ T5328] do_truncate+0x1c2/0x250 [ 103.119866][ T5328] ? __pfx_do_truncate+0x10/0x10 [ 103.119880][ T5328] do_ftruncate+0x4d4/0x580 [ 103.119892][ T5328] ? __pfx_do_ftruncate+0x10/0x10 [ 103.119902][ T5328] ? __fget_files+0x2a/0x420 [ 103.119915][ T5328] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 103.119927][ T5328] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 103.119938][ T5328] __x64_sys_ftruncate+0x8f/0xe0 [ 103.119949][ T5328] do_syscall_64+0x174/0x580 [ 103.119962][ T5328] ? trace_irq_disable+0x3b/0x140 [ 103.119971][ T5328] ? clear_bhb_loop+0x40/0x90 [ 103.119983][ T5328] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 103.119997][ T5328] RIP: 0033:0x7f419679ce59 [ 103.120010][ T5328] 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 [ 103.120020][ T5328] RSP: 002b:00007f41975c7fe8 EFLAGS: 00000246 ORIG_RAX: 000000000000004d [ 103.120034][ T5328] RAX: ffffffffffffffda RBX: 00007f4196a15fa0 RCX: 00007f419679ce59 [ 103.120051][ T5328] RDX: 0000000000000000 RSI: 0000000000007ffa RDI: 0000000000000005 [ 103.120058][ T5328] RBP: 00007f4196832e6f R08: 0000000000000000 R09: 0000000000000000 [ 103.120065][ T5328] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 103.120071][ T5328] R13: 00007f4196a16038 R14: 00007f4196a15fa0 R15: 00007ffdf6539c58 [ 103.120085][ T5328]