program: syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000000)=ANY=[@ANYRES32=0x0, @ANYRES64, @ANYRES32, @ANYRES16=0x0, @ANYRESHEX=0x0, @ANYRESOCT=0x0, @ANYRESDEC=0x0, @ANYRES8=0x0, @ANYRESDEC=0x0], 0x2, 0x63f, &(0x7f0000003300)="$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") r0 = creat(&(0x7f0000000140)='./file1\x00', 0x1b) r1 = syz_open_dev$loop(&(0x7f0000000640), 0x0, 0x22400) ioctl$BLKROSET(r1, 0x125d, &(0x7f00000001c0)=0x4) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r2, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030003, 0x2, 0x1, 0x0, r0, &(0x7f0000000000), 0xfffffffe, 0x16}]) [ 102.886271][ T5280] Bluetooth: hci0: command tx timeout [ 103.018447][ T5319] loop0: detected capacity change from 0 to 1024 [ 103.140102][ T5319] hfsplus: can't free extent: start 2889, count 1 [ 103.174047][ T5319] [ 103.177917][ T5319] ============================================ [ 103.180476][ T5319] WARNING: possible recursive locking detected [ 103.183109][ T5319] syzkaller #0 Not tainted [ 103.185129][ T5319] -------------------------------------------- [ 103.187917][ T5319] syz.0.0/5319 is trying to acquire lock: [ 103.190336][ T5319] ffff88800bfe0740 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 103.194849][ T5319] [ 103.194849][ T5319] but task is already holding lock: [ 103.197880][ T5319] ffff88800befa040 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 103.202631][ T5319] [ 103.202631][ T5319] other info that might help us debug this: [ 103.206213][ T5319] Possible unsafe locking scenario: [ 103.206213][ T5319] [ 103.209453][ T5319] CPU0 [ 103.210909][ T5319] ---- [ 103.212329][ T5319] lock(&HFSPLUS_I(inode)->extents_lock); [ 103.214707][ T5319] lock(&HFSPLUS_I(inode)->extents_lock); [ 103.217264][ T5319] [ 103.217264][ T5319] *** DEADLOCK *** [ 103.217264][ T5319] [ 103.220636][ T5319] May be due to missing lock nesting notation [ 103.220636][ T5319] [ 103.224250][ T5319] locks held by syz.0.0/5319: 3, last CPU#0: [ 103.226845][ T5319] #0: ffff88800befa1d8 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: generic_file_write_iter+0x82/0x330 [ 103.231623][ T5319] #1: ffff88800befa040 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 103.236347][ T5319] #2: ffff888040a1e0a8 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x179/0x2e0 [ 103.240524][ T5319] [ 103.240524][ T5319] stack backtrace: [ 103.243834][ T5319] CPU: 0 UID: 0 PID: 5319 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 103.252696][ T5319] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 103.257036][ T5319] Call Trace: [ 103.258580][ T5319] [ 103.259897][ T5319] dump_stack_lvl+0xe8/0x150 [ 103.261946][ T5319] print_deadlock_bug+0x27a/0x290 [ 103.265819][ T5319] __lock_acquire+0x25db/0x2de0 [ 103.267992][ T5319] ? __bfs+0x153/0x290 [ 103.269849][ T5319] ? __pfx_hlock_conflict+0x10/0x10 [ 103.272171][ T5319] ? check_path+0x21/0x40 [ 103.273992][ T5319] ? check_noncircular+0xdb/0x150 [ 103.276148][ T5319] lock_acquire+0x115/0x350 [ 103.278144][ T5319] ? hfsplus_file_extend+0x21c/0x1df0 [ 103.280576][ T5319] __mutex_lock+0x19d/0x1550 [ 103.282730][ T5319] ? hfsplus_file_extend+0x21c/0x1df0 [ 103.285039][ T5319] ? __bfs+0x153/0x290 [ 103.286790][ T5319] ? __pfx_hlock_conflict+0x10/0x10 [ 103.289027][ T5319] ? check_path+0x21/0x40 [ 103.290961][ T5319] ? hfsplus_file_extend+0x21c/0x1df0 [ 103.293240][ T5319] ? __pfx___mutex_lock+0x10/0x10 [ 103.295437][ T5319] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 103.298010][ T5319] hfsplus_file_extend+0x21c/0x1df0 [ 103.300198][ T5319] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 103.302494][ T5319] ? __pfx___mutex_trylock_common+0x10/0x10 [ 103.304945][ T5319] ? rcu_is_watching+0x16/0xb0 [ 103.306928][ T5319] ? trace_contention_end+0x3d/0x140 [ 103.309104][ T5319] ? __asan_memset+0x22/0x50 [ 103.311054][ T5319] ? hfsplus_brec_find+0x19a/0x510 [ 103.313162][ T5319] hfsplus_bmap_reserve+0x170/0x590 [ 103.315433][ T5319] __hfsplus_ext_write_extent+0x295/0x690 [ 103.318161][ T5319] __hfsplus_ext_cache_extent+0x81/0xbd0 [ 103.320633][ T5319] ? hfsplus_find_init+0x179/0x2e0 [ 103.322913][ T5319] hfsplus_file_extend+0x502/0x1df0 [ 103.325243][ T5319] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 103.327662][ T5319] ? clean_bdev_aliases+0x62e/0x750 [ 103.329977][ T5319] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 103.332310][ T5319] hfsplus_get_block+0x41f/0x1610 [ 103.334516][ T5319] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.336769][ T5319] ? do_raw_spin_unlock+0x4d/0x200 [ 103.339045][ T5319] ? _raw_spin_unlock+0x28/0x50 [ 103.341118][ T5319] ? create_empty_buffers+0x460/0x520 [ 103.343442][ T5319] __block_write_begin_int+0x6c2/0x1900 [ 103.345897][ T5319] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.348314][ T5319] ? __pfx___block_write_begin_int+0x10/0x10 [ 103.350931][ T5319] cont_write_begin+0x71b/0xac0 [ 103.353091][ T5319] ? lockdep_hardirqs_on+0x7b/0x110 [ 103.355414][ T5319] ? __pfx_cont_write_begin+0x10/0x10 [ 103.357646][ T5319] ? rcu_is_watching+0x16/0xb0 [ 103.359621][ T5319] hfsplus_write_begin+0x126/0x1e0 [ 103.361728][ T5319] ? __pfx_hfsplus_get_block+0x10/0x10 [ 103.363871][ T5319] generic_perform_write+0x2d5/0x8f0 [ 103.366072][ T5319] ? __pfx_generic_perform_write+0x10/0x10 [ 103.368643][ T5319] ? file_update_time_flags+0x1e0/0x440 [ 103.371065][ T5319] ? __generic_file_write_iter+0xf9/0x230 [ 103.373482][ T5319] ? generic_file_write_iter+0x9a/0x330 [ 103.375796][ T5319] generic_file_write_iter+0xae/0x330 [ 103.378037][ T5319] aio_write+0x5d0/0x870 [ 103.379652][ T5319] ? __pfx_aio_write+0x10/0x10 [ 103.381647][ T5319] io_submit_one+0x798/0x13d0 [ 103.383657][ T5319] ? lockdep_hardirqs_on+0x7b/0x110 [ 103.385823][ T5319] ? irqentry_exit+0x218/0x910 [ 103.387910][ T5319] ? __pfx_io_submit_one+0x10/0x10 [ 103.390107][ T5319] ? lock_acquire+0x115/0x350 [ 103.392164][ T5319] ? __might_fault+0xaf/0x130 [ 103.394220][ T5319] __se_sys_io_submit+0x195/0x340 [ 103.396424][ T5319] ? __pfx___se_sys_io_submit+0x10/0x10 [ 103.398861][ T5319] do_syscall_64+0x166/0x520 [ 103.400816][ T5319] ? trace_irq_disable+0x3b/0x140 [ 103.403020][ T5319] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 103.405606][ T5319] ? clear_bhb_loop+0x70/0xc0 [ 103.407584][ T5319] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 103.410188][ T5319] RIP: 0033:0x7f327479e159 [ 103.412250][ T5319] 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.420211][ T5319] RSP: 002b:00007f32756fffe8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 103.423642][ T5319] RAX: ffffffffffffffda RBX: 00007f3274a25fa0 RCX: 00007f327479e159 [ 103.426752][ T5319] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f32756b6000 [ 103.430088][ T5319] RBP: 00007f327483506b R08: 0000000000000000 R09: 0000000000000000 [ 103.433654][ T5319] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 103.436905][ T5319] R13: 00007f3274a26038 R14: 00007f3274a25fa0 R15: 00007ffe5b3b6728 [ 103.440236][ T5319] [ 103.486291][ T5319] Trying to write to read-only block-device loop0