program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = creat(&(0x7f0000000180)='./file1\x00', 0x0) (async) open(&(0x7f0000000000)='./file1\x00', 0x8000, 0x0) r1 = gettid() perf_event_open(&(0x7f0000000240)={0x2, 0x80, 0x6, 0x4d, 0x2, 0xfe, 0x0, 0x6, 0x0, 0x9, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x2, @perf_bp={&(0x7f0000000100)}, 0x118080, 0xec3a0000000, 0xffff052f, 0x1, 0x8, 0x9, 0x1, 0x0, 0x8, 0x0, 0x5}, r1, 0x0, 0xffffffffffffffff, 0x1) (async) io_setup(0x202, &(0x7f0000000200)=0x0) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r0, 0x40189429, &(0x7f0000000140)={0x0, 0x1, 0x1}) (async) io_submit(r2, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) socket$rds(0x15, 0x5, 0x0) [ 84.958117][ T4666] Bluetooth: hci0: command tx timeout [ 85.054892][ T5320] loop0: detected capacity change from 0 to 1024 [ 85.232165][ T24] audit: type=1804 audit(1774915599.190:2): pid=5320 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=ToMToU comm="syz.0.0" name="/newroot/0/file1/file1" dev="loop0" ino=20 res=1 errno=0 [ 85.274552][ T24] audit: type=1800 audit(1774915599.220:3): pid=5321 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed comm="syz.0.0" name="file1" dev="loop0" ino=20 res=0 errno=0 [ 85.294052][ T5321] [ 85.295297][ T5321] ============================================ [ 85.298134][ T5321] WARNING: possible recursive locking detected [ 85.301631][ T5321] syzkaller #0 Not tainted [ 85.304006][ T5321] -------------------------------------------- [ 85.306839][ T5321] syz.0.0/5321 is trying to acquire lock: [ 85.309508][ T5321] ffff8880360c0e88 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 85.315193][ T5321] [ 85.315193][ T5321] but task is already holding lock: [ 85.319068][ T5321] ffff88803d3d62c8 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 85.323961][ T5321] [ 85.323961][ T5321] other info that might help us debug this: [ 85.328312][ T5321] Possible unsafe locking scenario: [ 85.328312][ T5321] [ 85.332277][ T5321] CPU0 [ 85.333714][ T5321] ---- [ 85.335280][ T5321] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.337885][ T5321] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.340531][ T5321] [ 85.340531][ T5321] *** DEADLOCK *** [ 85.340531][ T5321] [ 85.344354][ T5321] May be due to missing lock nesting notation [ 85.344354][ T5321] [ 85.349180][ T5321] 3 locks held by syz.0.0/5321: [ 85.351525][ T5321] #0: ffff88803d3d64b8 (&sb->s_type->i_mutex_key#25){+.+.}-{4:4}, at: generic_file_write_iter+0x11e/0x680 [ 85.356502][ T5321] #1: ffff88803d3d62c8 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x215/0x1d70 [ 85.362363][ T5321] #2: ffff8880120b00b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 85.367682][ T5321] [ 85.367682][ T5321] stack backtrace: [ 85.370445][ T5321] CPU: 0 UID: 0 PID: 5321 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.370465][ T5321] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.370473][ T5321] Call Trace: [ 85.370481][ T5321] [ 85.370488][ T5321] dump_stack_lvl+0xe8/0x150 [ 85.370511][ T5321] print_deadlock_bug+0x279/0x290 [ 85.370530][ T5321] __lock_acquire+0x253f/0x2cf0 [ 85.370547][ T5321] ? unwind_next_frame+0xa5/0x23c0 [ 85.370564][ T5321] ? __bfs+0x153/0x290 [ 85.370577][ T5321] ? __pfx_hlock_conflict+0x10/0x10 [ 85.370594][ T5321] lock_acquire+0xf0/0x2e0 [ 85.370607][ T5321] ? hfsplus_file_extend+0x215/0x1d70 [ 85.370621][ T5321] __mutex_lock+0x19f/0x1300 [ 85.370696][ T5321] ? hfsplus_file_extend+0x215/0x1d70 [ 85.370708][ T5321] ? __bfs+0x153/0x290 [ 85.370721][ T5321] ? hfsplus_file_extend+0x215/0x1d70 [ 85.370732][ T5321] ? __pfx___mutex_lock+0x10/0x10 [ 85.370747][ T5321] ? lockdep_unlock+0x5d/0xd0 [ 85.370758][ T5321] ? __lock_acquire+0x146e/0x2cf0 [ 85.370773][ T5321] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 85.370787][ T5321] hfsplus_file_extend+0x215/0x1d70 [ 85.370801][ T5321] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.370811][ T5321] ? __pfx___mutex_trylock_common+0x10/0x10 [ 85.370835][ T5321] ? rcu_is_watching+0x15/0xb0 [ 85.370851][ T5321] ? trace_contention_end+0x3d/0x150 [ 85.370862][ T5321] ? __asan_memset+0x22/0x50 [ 85.370879][ T5321] ? hfsplus_brec_find+0x19d/0x520 [ 85.370896][ T5321] hfsplus_bmap_reserve+0x125/0x510 [ 85.370912][ T5321] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 85.370924][ T5321] __hfsplus_ext_cache_extent+0x89/0xe30 [ 85.370938][ T5321] hfsplus_file_extend+0x4af/0x1d70 [ 85.370951][ T5321] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 85.370963][ T5321] ? clean_bdev_aliases+0x62e/0x750 [ 85.370977][ T5321] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 85.370990][ T5321] hfsplus_get_block+0x42c/0x1670 [ 85.371003][ T5321] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.371013][ T5321] ? do_raw_spin_unlock+0x4d/0x210 [ 85.371025][ T5321] ? _raw_spin_unlock+0x28/0x50 [ 85.371038][ T5321] __block_write_begin_int+0x6c6/0x1910 [ 85.371053][ T5321] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.371064][ T5321] ? __pfx___block_write_begin_int+0x10/0x10 [ 85.371076][ T5321] cont_write_begin+0x737/0xae0 [ 85.371089][ T5321] ? irqentry_exit+0x59e/0x620 [ 85.371104][ T5321] ? __pfx_cont_write_begin+0x10/0x10 [ 85.371119][ T5321] hfsplus_write_begin+0x66/0xb0 [ 85.371134][ T5321] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.371144][ T5321] generic_perform_write+0x2e2/0x8f0 [ 85.371161][ T5321] ? __pfx_generic_perform_write+0x10/0x10 [ 85.371173][ T5321] ? file_update_time_flags+0x219/0x4a0 [ 85.371186][ T5321] ? __generic_file_write_iter+0xf9/0x230 [ 85.371197][ T5321] ? generic_file_write_iter+0x136/0x680 [ 85.371210][ T5321] generic_file_write_iter+0x14a/0x680 [ 85.371223][ T5321] ? __pfx_generic_file_write_iter+0x10/0x10 [ 85.371235][ T5321] ? do_raw_spin_lock+0x12b/0x2f0 [ 85.371247][ T5321] ? __lock_acquire+0x6b5/0x2cf0 [ 85.371261][ T5321] ? lockdep_hardirqs_on+0x7a/0x110 [ 85.371276][ T5321] ? kasan_save_track+0x4f/0x80 [ 85.371289][ T5321] ? aio_write+0x547/0x870 [ 85.371300][ T5321] aio_write+0x5cd/0x870 [ 85.371312][ T5321] ? __pfx_aio_write+0x10/0x10 [ 85.371329][ T5321] io_submit_one+0x7bb/0x14c0 [ 85.371341][ T5321] ? irqentry_exit+0x59e/0x620 [ 85.371354][ T5321] ? trace_irq_disable+0x3b/0x150 [ 85.371366][ T5321] ? __pfx_io_submit_one+0x10/0x10 [ 85.371379][ T5321] ? __might_fault+0xaf/0x130 [ 85.371395][ T5321] __se_sys_io_submit+0x195/0x340 [ 85.371412][ T5321] ? __pfx___se_sys_io_submit+0x10/0x10 [ 85.371431][ T5321] do_syscall_64+0x14d/0xf80 [ 85.371444][ T5321] ? trace_irq_disable+0x3b/0x150 [ 85.371453][ T5321] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.371465][ T5321] ? clear_bhb_loop+0x40/0x90 [ 85.371477][ T5321] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.371488][ T5321] RIP: 0033:0x7fdfbbf9c819 [ 85.371501][ T5321] 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.371510][ T5321] RSP: 002b:00007fdfbce8bfe8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 85.371525][ T5321] RAX: ffffffffffffffda RBX: 00007fdfbc216090 RCX: 00007fdfbbf9c819 [ 85.371533][ T5321] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fdfbce63000 [ 85.371539][ T5321] RBP: 00007fdfbc032c91 R08: 0000000000000000 R09: 0000000000000000 [ 85.371546][ T5321] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.371553][ T5321] R13: 00007fdfbc216128 R14: 00007fdfbc216090 R15: 00007ffd58ed58b8 [ 85.371564][ T5321]