program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = creat(&(0x7f0000000100)='./file1\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) r2 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000780)={0x6, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18020000d4ffffff0000000000000000850000001700000095"], &(0x7f0000000080)='GPL\x00'}, 0x90) getsockopt$bt_sco_SCO_OPTIONS(r0, 0x11, 0x1, &(0x7f00000004c0), &(0x7f0000000500)) r3 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r3, 0x89f1, &(0x7f00000000c0)={'sit0\x00', &(0x7f0000000440)={'syztnl0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, {{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x0, 0x3, 0x5e55b37311de6d89, 0x0, @dev, @initdev={0xac, 0x1e, 0x0, 0x0}}}}}) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000200)={r2, 0x0, 0x0, 0x72, 0x0, &(0x7f0000000180)=""/114, 0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f0000000280)="bf", 0x2, 0x8000}, 0x50) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f00000002c0), r0) sendmsg$NL80211_CMD_SET_REG(r0, &(0x7f0000000480)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x20085002}, 0xc, &(0x7f0000000440)={&(0x7f0000000300)={0x120, r4, 0x400, 0x70bd2c, 0x25dfdbfe, {}, [@NL80211_ATTR_WIPHY={0x8, 0x1, 0x7}, @NL80211_ATTR_REG_RULES={0xa4, 0x22, 0x0, 0x1, [{0x34, 0x0, 0x0, 0x1, [@NL80211_ATTR_REG_RULE_FLAGS={0xffffff9e, 0x1, 0x4}, @NL80211_ATTR_FREQ_RANGE_START={0x8, 0x2, 0x401}, @NL80211_ATTR_FREQ_RANGE_END={0x8, 0x3, 0x7ff}, @NL80211_ATTR_POWER_RULE_MAX_EIRP={0x8, 0x6, 0xca75}, @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN={0x8, 0x5, 0x231}, @NL80211_ATTR_DFS_CAC_TIME={0x8, 0x7, 0xd}]}, {0x2c, 0x0, 0x0, 0x1, [@NL80211_ATTR_FREQ_RANGE_END={0x8, 0x3, 0x5}, @NL80211_ATTR_POWER_RULE_MAX_EIRP={0x8, 0x6, 0xfea}, @NL80211_ATTR_FREQ_RANGE_START={0x8, 0x2, 0x20003}, @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN={0x8, 0x5, 0x5}, @NL80211_ATTR_DFS_CAC_TIME={0x8, 0x7, 0x401}]}, {0x1c, 0x0, 0x0, 0x1, [@NL80211_ATTR_POWER_RULE_MAX_EIRP={0x8, 0x6, 0x7}, @NL80211_ATTR_FREQ_RANGE_MAX_BW={0x8, 0x4, 0x200}, @NL80211_ATTR_FREQ_RANGE_START={0x8, 0x2, 0x1}]}, {0x24, 0x0, 0x0, 0x1, [@NL80211_ATTR_FREQ_RANGE_END={0x8, 0x3, 0x3}, @NL80211_ATTR_REG_RULE_FLAGS={0x8, 0x1, 0x1}, @NL80211_ATTR_POWER_RULE_MAX_EIRP={0x8, 0x6, 0x9}, @NL80211_ATTR_FREQ_RANGE_END={0x8, 0x3, 0x1}]}]}, @NL80211_ATTR_REG_ALPHA2={0x6, 0x21, 'a\x00'}, @NL80211_ATTR_DFS_REGION={0x5, 0x92, 0x2}, @NL80211_ATTR_SOCKET_OWNER={0x4}, @NL80211_ATTR_DFS_REGION={0x5}, @NL80211_ATTR_REG_RULES={0x44, 0x22, 0x0, 0x1, [{0x4}, {0x3c, 0x0, 0x0, 0x1, [@NL80211_ATTR_FREQ_RANGE_MAX_BW={0x8, 0x4, 0x8000}, @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN={0x8, 0x5, 0x8}, @NL80211_ATTR_FREQ_RANGE_MAX_BW={0x8, 0x4, 0x9}, @NL80211_ATTR_REG_RULE_FLAGS={0x8, 0x1, 0x8001}, @NL80211_ATTR_REG_RULE_FLAGS={0x8, 0x1, 0xc0}, @NL80211_ATTR_FREQ_RANGE_MAX_BW={0x8}, @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN={0x8}]}]}]}, 0x120}, 0x1, 0x0, 0x0, 0x844}, 0x8090) r5 = syz_init_net_socket$ax25(0x3, 0x2, 0xcb) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r6, 0x8933, &(0x7f0000000000)={'batadv_slave_0\x00'}) r7 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) setsockopt$ax25_SO_BINDTODEVICE(0xffffffffffffffff, 0x101, 0x19, &(0x7f0000000000)=@bpq0, 0xfffffffffffffe1d) ioctl$sock_netdev_private(r7, 0x8914, &(0x7f0000000000)) bind$ax25(r5, &(0x7f0000000540)={{0x3, @bcast, 0x1}, [@default, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @default, @null, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}]}, 0x48) connect$ax25(r5, &(0x7f00000000c0)={{0x3, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, 0x2}, [@default, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @default]}, 0x48) connect$ax25(r5, &(0x7f00000001c0)={{0x3, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}}, [@rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @bcast, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @default, @bcast, @null]}, 0x48) r8 = syz_open_dev$tty1(0xc, 0x4, 0x1) r9 = dup(r8) ioctl$TIOCL_SETVESABLANK(r9, 0x560b, 0x0) r10 = syz_open_dev$tty1(0xc, 0x4, 0x4) ioctl$VT_ACTIVATE(r10, 0x5606, 0x4) io_submit(r1, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) [ 85.011841][ T4689] Bluetooth: hci0: command tx timeout [ 85.087553][ T5348] loop0: detected capacity change from 0 to 1024 [ 85.225004][ T5348] [ 85.226207][ T5348] ============================================ [ 85.228551][ T5348] WARNING: possible recursive locking detected [ 85.230916][ T5348] syzkaller #0 Not tainted [ 85.232813][ T5348] -------------------------------------------- [ 85.235569][ T5348] syz.0.0/5348 is trying to acquire lock: [ 85.237975][ T5348] ffff88804273c108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1c30 [ 85.242945][ T5348] [ 85.242945][ T5348] but task is already holding lock: [ 85.246202][ T5348] ffff88804273e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1c30 [ 85.250888][ T5348] [ 85.250888][ T5348] other info that might help us debug this: [ 85.254346][ T5348] Possible unsafe locking scenario: [ 85.254346][ T5348] [ 85.257521][ T5348] CPU0 [ 85.258953][ T5348] ---- [ 85.260384][ T5348] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.262861][ T5348] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.265328][ T5348] [ 85.265328][ T5348] *** DEADLOCK *** [ 85.265328][ T5348] [ 85.268674][ T5348] May be due to missing lock nesting notation [ 85.268674][ T5348] [ 85.272055][ T5348] 3 locks held by syz.0.0/5348: [ 85.274265][ T5348] #0: ffff88804273eb78 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: generic_file_write_iter+0xeb/0x550 [ 85.279079][ T5348] #1: ffff88804273e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1c30 [ 85.283860][ T5348] #2: ffff88801fac60b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 85.288025][ T5348] [ 85.288025][ T5348] stack backtrace: [ 85.290527][ T5348] CPU: 0 UID: 0 PID: 5348 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.290544][ T5348] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 85.290551][ T5348] Call Trace: [ 85.290560][ T5348] [ 85.290566][ T5348] dump_stack_lvl+0xe8/0x150 [ 85.290584][ T5348] print_deadlock_bug+0x279/0x290 [ 85.290600][ T5348] __lock_acquire+0x2540/0x2cf0 [ 85.290615][ T5348] ? unwind_next_frame+0xa5/0x23d0 [ 85.290629][ T5348] ? __bfs+0x154/0x290 [ 85.290639][ T5348] ? __pfx_hlock_conflict+0x10/0x10 [ 85.290653][ T5348] ? hfsplus_file_extend+0x1f8/0x1c30 [ 85.290660][ T5348] lock_acquire+0x107/0x340 [ 85.290666][ T5348] ? hfsplus_file_extend+0x1f8/0x1c30 [ 85.290679][ T5348] __mutex_lock+0x187/0x1350 [ 85.290734][ T5348] ? hfsplus_file_extend+0x1f8/0x1c30 [ 85.290752][ T5348] ? __bfs+0x154/0x290 [ 85.290762][ T5348] ? __pfx_hlock_conflict+0x10/0x10 [ 85.290774][ T5348] ? hfsplus_file_extend+0x1f8/0x1c30 [ 85.290785][ T5348] ? check_noncircular+0xda/0x150 [ 85.290797][ T5348] ? __pfx___mutex_lock+0x10/0x10 [ 85.290815][ T5348] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 85.290831][ T5348] hfsplus_file_extend+0x1f8/0x1c30 [ 85.290844][ T5348] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.290855][ T5348] ? __pfx___mutex_trylock_common+0x10/0x10 [ 85.290869][ T5348] ? rcu_is_watching+0x15/0xb0 [ 85.290880][ T5348] ? trace_contention_end+0x39/0x100 [ 85.290892][ T5348] ? __asan_memset+0x22/0x50 [ 85.290906][ T5348] ? hfsplus_brec_find+0x1a9/0x510 [ 85.290922][ T5348] hfsplus_bmap_reserve+0x125/0x510 [ 85.290937][ T5348] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 85.290948][ T5348] __hfsplus_ext_cache_extent+0x89/0xe30 [ 85.290961][ T5348] hfsplus_file_extend+0x437/0x1c30 [ 85.290974][ T5348] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.290987][ T5348] ? clean_bdev_aliases+0x5c9/0x6b0 [ 85.291004][ T5348] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 85.291019][ T5348] hfsplus_get_block+0x40a/0x1600 [ 85.291031][ T5348] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.291040][ T5348] ? do_raw_spin_unlock+0x4d/0x240 [ 85.291053][ T5348] ? _raw_spin_unlock+0x28/0x50 [ 85.291066][ T5348] __block_write_begin_int+0x6b5/0x1900 [ 85.291082][ T5348] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.291092][ T5348] ? __pfx___block_write_begin_int+0x10/0x10 [ 85.291107][ T5348] cont_write_begin+0x78c/0xb50 [ 85.291124][ T5348] ? __pfx_cont_write_begin+0x10/0x10 [ 85.291139][ T5348] hfsplus_write_begin+0x66/0xb0 [ 85.291147][ T5348] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.291159][ T5348] generic_perform_write+0x2c5/0x900 [ 85.291172][ T5348] ? __pfx_generic_perform_write+0x10/0x10 [ 85.291181][ T5348] ? file_update_time_flags+0x2cb/0x4e0 [ 85.291195][ T5348] ? __generic_file_write_iter+0xf9/0x230 [ 85.291204][ T5348] ? generic_file_write_iter+0x103/0x550 [ 85.291213][ T5348] generic_file_write_iter+0x117/0x550 [ 85.291223][ T5348] ? __pfx_generic_file_write_iter+0x10/0x10 [ 85.291233][ T5348] ? __lock_acquire+0x6b6/0x2cf0 [ 85.291243][ T5348] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 85.291257][ T5348] ? lockdep_hardirqs_on+0x7b/0x110 [ 85.291266][ T5348] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 85.291280][ T5348] ? stack_depot_save_flags+0x3f3/0x810 [ 85.291295][ T5348] ? io_submit_one+0x775/0x1430 [ 85.291318][ T5348] ? aio_write+0x4c4/0x7a0 [ 85.291333][ T5348] aio_write+0x535/0x7a0 [ 85.291348][ T5348] ? __pfx_aio_write+0x10/0x10 [ 85.291365][ T5348] ? __might_fault+0xb0/0x130 [ 85.291382][ T5348] io_submit_one+0x775/0x1430 [ 85.291396][ T5348] ? irqentry_exit+0x5e8/0x670 [ 85.291405][ T5348] ? __pfx_io_submit_one+0x10/0x10 [ 85.291418][ T5348] ? __might_fault+0xb0/0x130 [ 85.291433][ T5348] ? __might_fault+0xb0/0x130 [ 85.291445][ T5348] __se_sys_io_submit+0x185/0x320 [ 85.291458][ T5348] ? __pfx___se_sys_io_submit+0x10/0x10 [ 85.291473][ T5348] do_syscall_64+0xec/0xf80 [ 85.291483][ T5348] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.291492][ T5348] ? trace_irq_disable+0x37/0x100 [ 85.291507][ T5348] ? clear_bhb_loop+0x60/0xb0 [ 85.291519][ T5348] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.291531][ T5348] RIP: 0033:0x7f2de0d8f7c9 [ 85.291544][ T5348] 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 [ 85.291552][ T5348] RSP: 002b:00007f2de1ccb038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 85.291565][ T5348] RAX: ffffffffffffffda RBX: 00007f2de0fe5fa0 RCX: 00007f2de0d8f7c9 [ 85.291573][ T5348] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f2de1c81000 [ 85.291580][ T5348] RBP: 00007f2de0e13f91 R08: 0000000000000000 R09: 0000000000000000 [ 85.291587][ T5348] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.291593][ T5348] R13: 00007f2de0fe6038 R14: 00007f2de0fe5fa0 R15: 00007ffd5a1d1238 [ 85.291605][ T5348]