program: syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@part={'part', 0x3d, 0x40}}, {@nodecompose}, {@part={'part', 0x3d, 0x7}}, {@part={'part', 0x3d, 0xc}}, {@uid}, {@barrier}, {@nls={'nls', 0x3d, 'macinuit'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x5f4, &(0x7f0000000640)="$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") r0 = openat$dir(0xffffffffffffff9c, &(0x7f0000000300)='.\x00', 0x2000, 0x12) r1 = openat$hpet(0xffffffffffffff9c, &(0x7f00000001c0), 0x20000, 0x0) ioctl$SG_SET_RESERVED_SIZE(r1, 0x2275, &(0x7f0000000200)=0x40) creat(&(0x7f0000000000)='./file2\x00', 0x1a8) getdents64(r0, &(0x7f0000000100)=""/154, 0x9a) unlinkat(0xffffffffffffff9c, &(0x7f00000003c0)='./file2\x00', 0x0) [ 69.309468][ T46] Bluetooth: hci0: command tx timeout [ 69.378365][ T5317] loop0: detected capacity change from 0 to 1024 [ 69.463758][ T5317] [ 69.464865][ T5317] ============================================ [ 69.467519][ T5317] WARNING: possible recursive locking detected [ 69.470387][ T5317] syzkaller #0 Not tainted [ 69.472518][ T5317] -------------------------------------------- [ 69.475517][ T5317] syz.0.0/5317 is trying to acquire lock: [ 69.478259][ T5317] ffff8880113f5548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x398/0x15d0 [ 69.483186][ T5317] [ 69.483186][ T5317] but task is already holding lock: [ 69.486377][ T5317] ffff8880113f6988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2a4/0xc70 [ 69.491211][ T5317] [ 69.491211][ T5317] other info that might help us debug this: [ 69.494712][ T5317] Possible unsafe locking scenario: [ 69.494712][ T5317] [ 69.498041][ T5317] CPU0 [ 69.499825][ T5317] ---- [ 69.501323][ T5317] lock(&HFSPLUS_I(inode)->extents_lock); [ 69.504116][ T5317] lock(&HFSPLUS_I(inode)->extents_lock); [ 69.507022][ T5317] [ 69.507022][ T5317] *** DEADLOCK *** [ 69.507022][ T5317] [ 69.510498][ T5317] May be due to missing lock nesting notation [ 69.510498][ T5317] [ 69.513898][ T5317] 4 locks held by syz.0.0/5317: [ 69.516064][ T5317] #0: ffff88804245e420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 69.520180][ T5317] #1: ffff8880113f6b78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: do_truncate+0x171/0x220 [ 69.525951][ T5317] #2: ffff8880113f6988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2a4/0xc70 [ 69.531396][ T5317] #3: ffff8880112be8f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xc7/0x5f0 [ 69.535733][ T5317] [ 69.535733][ T5317] stack backtrace: [ 69.538306][ T5317] CPU: 0 UID: 0 PID: 5317 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 69.538323][ T5317] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 69.538331][ T5317] Call Trace: [ 69.538339][ T5317] [ 69.538346][ T5317] dump_stack_lvl+0x189/0x250 [ 69.538368][ T5317] ? __pfx_dump_stack_lvl+0x10/0x10 [ 69.538383][ T5317] ? __pfx__printk+0x10/0x10 [ 69.538396][ T5317] ? print_lock_name+0xde/0x100 [ 69.538407][ T5317] print_deadlock_bug+0x28b/0x2a0 [ 69.538422][ T5317] validate_chain+0x1a3f/0x2140 [ 69.538435][ T5317] ? lock_release+0x4b/0x3e0 [ 69.538445][ T5317] ? look_up_lock_class+0x74/0x170 [ 69.538511][ T5317] ? register_lock_class+0x51/0x320 [ 69.538523][ T5317] __lock_acquire+0xab9/0xd20 [ 69.538536][ T5317] ? hfsplus_get_block+0x398/0x15d0 [ 69.538549][ T5317] lock_acquire+0x120/0x360 [ 69.538558][ T5317] ? hfsplus_get_block+0x398/0x15d0 [ 69.538572][ T5317] ? stack_trace_save+0x9c/0xe0 [ 69.538585][ T5317] ? __pfx_hlock_conflict+0x10/0x10 [ 69.538599][ T5317] __mutex_lock+0x187/0x1350 [ 69.538613][ T5317] ? hfsplus_get_block+0x398/0x15d0 [ 69.538626][ T5317] ? lockdep_unlock+0x89/0x120 [ 69.538641][ T5317] ? validate_chain+0x897/0x2140 [ 69.538654][ T5317] ? hfsplus_get_block+0x398/0x15d0 [ 69.538667][ T5317] ? __pfx___mutex_lock+0x10/0x10 [ 69.538685][ T5317] hfsplus_get_block+0x398/0x15d0 [ 69.538699][ T5317] ? __pfx_hfsplus_get_block+0x10/0x10 [ 69.538708][ T5317] ? do_raw_spin_unlock+0x4d/0x240 [ 69.538717][ T5317] ? _raw_spin_unlock+0x28/0x50 [ 69.538729][ T5317] block_read_full_folio+0x29f/0x830 [ 69.538741][ T5317] ? __pfx_hfsplus_get_block+0x10/0x10 [ 69.538762][ T5317] filemap_read_folio+0x117/0x380 [ 69.538788][ T5317] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 69.538801][ T5317] ? __pfx_filemap_read_folio+0x10/0x10 [ 69.538819][ T5317] ? filemap_add_folio+0x35f/0x540 [ 69.538836][ T5317] do_read_cache_folio+0x350/0x590 [ 69.538853][ T5317] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 69.538864][ T5317] read_cache_page+0x5d/0x170 [ 69.538882][ T5317] hfsplus_block_free+0x134/0x5f0 [ 69.538894][ T5317] ? trace_kmalloc+0x1f/0xd0 [ 69.538908][ T5317] hfsplus_free_extents+0x121/0xa50 [ 69.538922][ T5317] hfsplus_file_truncate+0x754/0xc70 [ 69.538937][ T5317] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 69.538951][ T5317] ? unmap_mapping_range+0xde/0x170 [ 69.538963][ T5317] ? __pfx_unmap_mapping_range+0x10/0x10 [ 69.538975][ T5317] ? truncate_setsize+0xcf/0xf0 [ 69.538988][ T5317] hfsplus_setattr+0x1c4/0x270 [ 69.539001][ T5317] ? __pfx_hfsplus_setattr+0x10/0x10 [ 69.539013][ T5317] notify_change+0xc1a/0xf40 [ 69.539029][ T5317] do_truncate+0x1a4/0x220 [ 69.539043][ T5317] ? __pfx_do_truncate+0x10/0x10 [ 69.539055][ T5317] ? apparmor_file_truncate+0x23e/0x2d0 [ 69.539070][ T5317] path_openat+0x306c/0x3830 [ 69.539091][ T5317] ? __pfx_path_openat+0x10/0x10 [ 69.539108][ T5317] do_filp_open+0x1fa/0x410 [ 69.539119][ T5317] ? __lock_acquire+0xab9/0xd20 [ 69.539130][ T5317] ? __pfx_do_filp_open+0x10/0x10 [ 69.539146][ T5317] ? _raw_spin_unlock+0x28/0x50 [ 69.539157][ T5317] ? alloc_fd+0x64c/0x6c0 [ 69.539172][ T5317] do_sys_openat2+0x121/0x1c0 [ 69.539182][ T5317] ? __se_sys_futex+0x36f/0x400 [ 69.539199][ T5317] ? __pfx_do_sys_openat2+0x10/0x10 [ 69.539211][ T5317] __x64_sys_creat+0x8f/0xc0 [ 69.539222][ T5317] do_syscall_64+0xfa/0xfa0 [ 69.539237][ T5317] ? lockdep_hardirqs_on+0x9c/0x150 [ 69.539250][ T5317] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 69.539260][ T5317] ? clear_bhb_loop+0x60/0xb0 [ 69.539272][ T5317] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 69.539283][ T5317] RIP: 0033:0x7f1b0418efc9 [ 69.539295][ T5317] 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 [ 69.539306][ T5317] RSP: 002b:00007f1b04f80038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 69.539321][ T5317] RAX: ffffffffffffffda RBX: 00007f1b043e5fa0 RCX: 00007f1b0418efc9 [ 69.539330][ T5317] RDX: 0000000000000000 RSI: 00000000000001a8 RDI: 0000200000000000 [ 69.539337][ T5317] RBP: 00007f1b04211f91 R08: 0000000000000000 R09: 0000000000000000 [ 69.539345][ T5317] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 69.539352][ T5317] R13: 00007f1b043e6038 R14: 00007f1b043e5fa0 R15: 00007ffd093c3a78 [ 69.539364][ T5317] [ 69.791848][ T5317] hfsplus: unable to mark blocks free: error -5 [ 69.795037][ T5317] hfsplus: can't free extent: start 135, count 9