program: syz_mount_image$hfsplus(&(0x7f0000000080), &(0x7f0000000100)='./file1\x00', 0x0, &(0x7f0000000140)=ANY=[], 0x2, 0x63f, &(0x7f0000003300)="$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") r0 = creat(&(0x7f0000000000)='./file1\x00', 0x40) 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}]) [ 94.451754][ T4642] Bluetooth: hci0: command tx timeout [ 94.559601][ T5314] loop0: detected capacity change from 0 to 1024 [ 94.747997][ T5314] hfsplus: can't free extent: start 2889, count 1 [ 94.804692][ T5314] [ 94.805790][ T5314] ============================================ [ 94.808364][ T5314] WARNING: possible recursive locking detected [ 94.811203][ T5314] syzkaller #0 Not tainted [ 94.813150][ T5314] -------------------------------------------- [ 94.815770][ T5314] syz.0.0/5314 is trying to acquire lock: [ 94.818177][ T5314] ffff888052d2c740 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 94.822948][ T5314] [ 94.822948][ T5314] but task is already holding lock: [ 94.826057][ T5314] ffff888052d2a040 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 94.830689][ T5314] [ 94.830689][ T5314] other info that might help us debug this: [ 94.834091][ T5314] Possible unsafe locking scenario: [ 94.834091][ T5314] [ 94.837351][ T5314] CPU0 [ 94.838824][ T5314] ---- [ 94.840402][ T5314] lock(&HFSPLUS_I(inode)->extents_lock); [ 94.842965][ T5314] lock(&HFSPLUS_I(inode)->extents_lock); [ 94.845533][ T5314] [ 94.845533][ T5314] *** DEADLOCK *** [ 94.845533][ T5314] [ 94.848889][ T5314] May be due to missing lock nesting notation [ 94.848889][ T5314] [ 94.852393][ T5314] locks held by syz.0.0/5314: 3, last CPU#0: [ 94.854834][ T5314] #0: ffff888052d2a1d8 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: generic_file_write_iter+0x82/0x330 [ 94.859771][ T5314] #1: ffff888052d2a040 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x21c/0x1df0 [ 94.865058][ T5314] #2: ffff8880424500a8 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x179/0x2e0 [ 94.869527][ T5314] [ 94.869527][ T5314] stack backtrace: [ 94.872272][ T5314] CPU: 0 UID: 0 PID: 5314 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 94.876229][ T5314] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 94.880807][ T5314] Call Trace: [ 94.882274][ T5314] [ 94.883578][ T5314] dump_stack_lvl+0xe8/0x150 [ 94.885636][ T5314] print_deadlock_bug+0x27a/0x290 [ 94.888002][ T5314] __lock_acquire+0x25db/0x2de0 [ 94.890233][ T5314] ? __bfs+0x153/0x290 [ 94.892043][ T5314] ? __pfx_hlock_conflict+0x10/0x10 [ 94.894459][ T5314] ? check_path+0x21/0x40 [ 94.896438][ T5314] ? check_noncircular+0xdb/0x150 [ 94.898653][ T5314] lock_acquire+0x115/0x350 [ 94.900715][ T5314] ? hfsplus_file_extend+0x21c/0x1df0 [ 94.903037][ T5314] __mutex_lock+0x19d/0x1550 [ 94.905172][ T5314] ? hfsplus_file_extend+0x21c/0x1df0 [ 94.907586][ T5314] ? __bfs+0x153/0x290 [ 94.909501][ T5314] ? __pfx_hlock_conflict+0x10/0x10 [ 94.911935][ T5314] ? check_path+0x21/0x40 [ 94.913834][ T5314] ? hfsplus_file_extend+0x21c/0x1df0 [ 94.916097][ T5314] ? __pfx___mutex_lock+0x10/0x10 [ 94.918116][ T5314] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 94.920752][ T5314] hfsplus_file_extend+0x21c/0x1df0 [ 94.922831][ T5314] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 94.925130][ T5314] ? __pfx___mutex_trylock_common+0x10/0x10 [ 94.927559][ T5314] ? rcu_is_watching+0x16/0xb0 [ 94.929502][ T5314] ? trace_contention_end+0x3d/0x140 [ 94.931832][ T5314] ? __asan_memset+0x22/0x50 [ 94.933933][ T5314] ? hfsplus_brec_find+0x19a/0x510 [ 94.936241][ T5314] hfsplus_bmap_reserve+0x170/0x590 [ 94.938660][ T5314] __hfsplus_ext_write_extent+0x295/0x690 [ 94.941381][ T5314] __hfsplus_ext_cache_extent+0x81/0xbd0 [ 94.943784][ T5314] ? hfsplus_find_init+0x179/0x2e0 [ 94.946029][ T5314] hfsplus_file_extend+0x502/0x1df0 [ 94.948364][ T5314] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 94.950965][ T5314] ? clean_bdev_aliases+0x62e/0x750 [ 94.953279][ T5314] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 94.955753][ T5314] hfsplus_get_block+0x41f/0x1610 [ 94.958070][ T5314] ? __pfx_hfsplus_get_block+0x10/0x10 [ 94.960499][ T5314] ? do_raw_spin_unlock+0x4d/0x200 [ 94.962621][ T5314] ? _raw_spin_unlock+0x28/0x50 [ 94.964696][ T5314] ? create_empty_buffers+0x460/0x520 [ 94.966971][ T5314] __block_write_begin_int+0x6c2/0x1900 [ 94.969198][ T5314] ? __pfx_hfsplus_get_block+0x10/0x10 [ 94.971406][ T5314] ? __pfx___block_write_begin_int+0x10/0x10 [ 94.973945][ T5314] cont_write_begin+0x71b/0xac0 [ 94.976164][ T5314] ? lockdep_hardirqs_on+0x7b/0x110 [ 94.978519][ T5314] ? __pfx_cont_write_begin+0x10/0x10 [ 94.981070][ T5314] ? rcu_is_watching+0x16/0xb0 [ 94.983258][ T5314] hfsplus_write_begin+0x126/0x1e0 [ 94.985767][ T5314] ? __pfx_hfsplus_get_block+0x10/0x10 [ 94.988466][ T5314] generic_perform_write+0x2d5/0x8f0 [ 94.990992][ T5314] ? __pfx_generic_perform_write+0x10/0x10 [ 94.993788][ T5314] ? file_update_time_flags+0x1e0/0x440 [ 94.996320][ T5314] ? __generic_file_write_iter+0xf9/0x230 [ 94.998738][ T5314] ? generic_file_write_iter+0x9a/0x330 [ 95.001296][ T5314] generic_file_write_iter+0xae/0x330 [ 95.007355][ T5314] aio_write+0x5d0/0x870 [ 95.009539][ T5314] ? __pfx_aio_write+0x10/0x10 [ 95.011707][ T5314] io_submit_one+0x798/0x13d0 [ 95.013868][ T5314] ? lockdep_hardirqs_on+0x7b/0x110 [ 95.016329][ T5314] ? irqentry_exit+0x218/0x910 [ 95.018476][ T5314] ? __pfx_io_submit_one+0x10/0x10 [ 95.020806][ T5314] ? lock_acquire+0x115/0x350 [ 95.022834][ T5314] ? __might_fault+0xaf/0x130 [ 95.024970][ T5314] __se_sys_io_submit+0x195/0x340 [ 95.027078][ T5314] ? __pfx___se_sys_io_submit+0x10/0x10 [ 95.029414][ T5314] do_syscall_64+0x166/0x520 [ 95.031552][ T5314] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 95.034079][ T5314] ? clear_bhb_loop+0x70/0xc0 [ 95.036139][ T5314] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 95.038689][ T5314] RIP: 0033:0x7fa64119e159 [ 95.040819][ T5314] 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 [ 95.050304][ T5314] RSP: 002b:00007fa642137fe8 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 95.054074][ T5314] RAX: ffffffffffffffda RBX: 00007fa641425fa0 RCX: 00007fa64119e159 [ 95.057366][ T5314] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007fa6420ee000 [ 95.061183][ T5314] RBP: 00007fa64123506b R08: 0000000000000000 R09: 0000000000000000 [ 95.064773][ T5314] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 95.068044][ T5314] R13: 00007fa641426038 R14: 00007fa641425fa0 R15: 00007ffe32e84518 [ 95.071529][ T5314] [ 95.115127][ T5314] Trying to write to read-only block-device loop0