program: syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@part={'part', 0x3d, 0x500f}}, {@nodecompose}, {}, {@part={'part', 0x3d, 0xc}}, {@uid}, {@barrier}, {@nls={'nls', 0x3d, 'cp949'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x5f4, &(0x7f0000000640)="$eJzs3c9rHOcZB/DvrNay5YKzSewkLS0V9qElprZWmzg6FOqWUnQIJdBLLjkIex0Lr5UgbYoSSpH789r/IClFPvfUQ+nBkJ577VHQQw6F3nVzmdlZaW0rshQr2lXy+cC77zv7zrzzzOOZVzuzmA3wtbX4dk49SJHFy2+ul8tbm53e1mbn7rCd5HSSRtIcVClWkuLT5HoGJd8s36yHKz5vP+98/MbCZ+3795KiORirOVy/sd92B7NRl8wmmarroxrvxjOPV+wcYZmwS8PEwbg9fMLGYTZ/xusWmGSt5GySM/XngNSzQ2PMYT2zQ81yAAAAcEI9t53trOfcuOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAk6RIpgZVVRrD9myK4e//T9fvpW6faA/GHQAAAAAAAAAAHIHvbmc76zk3XH5YVN/5X6wWzlev38gHWUs3q7mS9Syln35W007SGhloen2p319tP3XLItl4NITBlvPHcLAAAAAAAAAA8NX1myzufv8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACToEimBlVVzg/brTSaSc4kmS7X20j+MWyfZA/GHQAAAAAcg+e2s531nBsuPyyqe/6Xqvv+M/kgK+lnOf300s3N6lnA4K6/sbXZ6W1tdu6W5clxf/y/Q4VRjZjBs4e99zxXrXFhZ4vF/Cy/yOXM5q2sZjm/zFL66WY2P61aSynSqp9etIZx7h3v9UeW3nparK9UkczkVpar2K7kRt5LLzfTqI6hWmf/Pd4rs1P8qHbAHN2s6/KI/lTXk6FVZeTUTkbm6tyX2Xh+/0wc8jx5fE/tNHaeQZ3/99Hn/Gxdl7n+w0TnfH7k7Htp/5wnF//znb/d7q3cuX1r7fLkHNIX9HgmOiOZePlrlYnpOhuDWfRws+XFattzWc7P815uppvXs5DXM5/X8lrmspBrI3m9cID5rXG4a+3S9+vGTJI/1vVkKPP6/EheR2e6VtU3+s4gS+XJ9MLR/xVofqtulPv4bV1Phscz0R45X17cPxN/fli+rvVW7qzeXnr/gPv7Xl2Xmf79RM3N5fnyQvmPVS09enaUfS/u2deu+s7v9DWe6Luw0/e0K3W6/gz35EjzVd/Le/Z1qr5XRvr2+pQDwITa/U777Ktnp2f+O/OvmU9mfjdze+bNMz85vXD629M59c/m36f+2rjf+GHxaj7Jr3fv/wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgC9u7cOP7iz1hj8D0Ot1VwfvfMUaf8lEhKFx0hrN+sqYlHiOrzHGSQk4Flf7d9+/uvbhRz9Yvrv0bvfd7kqn0742v3BtYf7a1VvLve7c4HXcYQJfgt0/+uOOBAAAAAAAAAAAADio4/jvBOM+RgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOBkW3w7px6kSHvuyly5vLXZ6ZVl2N5ds5mkkaT4VVJ8mlzPoKQ1Mlzxeft55+M3Fj5r37+3O1ZzuH5jv+0OZqMumU0yVddHNd6NZx6v2DnCMmGXhomDcft/AAAA//9Shwfb") r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) io_submit(r1, 0x1, &(0x7f0000000140)=[&(0x7f0000000180)={0x25, 0x0, 0x0, 0x2, 0x400, r0, &(0x7f0000000240)="572d7be6418bd8d57846d559efab11f1154727260400cbbb02a6093c5a9039aabf7e565033e89fe73a5fcd33c67bbd774d3baa45236b7e2385f4cd33f194ac2a08c7243dada42ec3b01385b414fca453858d1885f737bc471899d173f816cf13532513c0a143385d6876f0037a3dff0586dae6e53c7454c6c86f565e933ca219d6d52831eb1437df41fb4ab77954342dfd914f7eefcf04084d46c2c579b915b16363c26ca4896d24733d4a72207997d37c7946adf6b63f057f6a733fec313c9735de796e8590f7e41515d1166ed6de3f7a537a16ddc80524c10f6211395d67c37a28b991ac98ae9c39825da1232372b9e7a1941372fd66ee838ef2b6ac98b896e8f45e3279b8c75c65efd2199d1bc7f6c3d0cd48e42feb0e86d6f1b136c793db1de374c13e56b93c824dcae06c6531d72455d7f48dc111c68ba73ef6c28a87f1cf6a765cb0fa1c34f4cb41c3aa592530bc69cb765e3273235dda0f8c806843a1ba40dc8d9cdede71f520adeec1debc539e49a7d9d2", 0x175, 0x400a00, 0x0, 0x0, r0}]) creat(&(0x7f0000000000)='./file1\x00', 0x68) [ 85.241930][ T47] Bluetooth: hci0: command tx timeout [ 85.295314][ T5329] loop0: detected capacity change from 0 to 1024 [ 85.393033][ T5329] [ 85.394098][ T5329] ============================================ [ 85.396512][ T5329] WARNING: possible recursive locking detected [ 85.398919][ T5329] syzkaller #0 Not tainted [ 85.401082][ T5329] -------------------------------------------- [ 85.403671][ T5329] syz.0.0/5329 is trying to acquire lock: [ 85.406090][ T5329] ffff88804113d548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1670 [ 85.410812][ T5329] [ 85.410812][ T5329] but task is already holding lock: [ 85.413869][ T5329] ffff88804113f048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 85.418742][ T5329] [ 85.418742][ T5329] other info that might help us debug this: [ 85.422291][ T5329] Possible unsafe locking scenario: [ 85.422291][ T5329] [ 85.425603][ T5329] CPU0 [ 85.427102][ T5329] ---- [ 85.428674][ T5329] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.431415][ T5329] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.433758][ T5329] [ 85.433758][ T5329] *** DEADLOCK *** [ 85.433758][ T5329] [ 85.436998][ T5329] May be due to missing lock nesting notation [ 85.436998][ T5329] [ 85.440665][ T5329] 4 locks held by syz.0.0/5329: [ 85.442676][ T5329] #0: ffff88801a7ee420 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 85.446090][ T5329] #1: ffff88804113f238 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: do_truncate+0x18f/0x250 [ 85.449934][ T5329] #2: ffff88804113f048 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x2b3/0xc30 [ 85.454678][ T5329] #3: ffff888042bf18f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xc7/0x630 [ 85.458773][ T5329] [ 85.458773][ T5329] stack backtrace: [ 85.461213][ T5329] CPU: 0 UID: 0 PID: 5329 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 85.461229][ T5329] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 85.461237][ T5329] Call Trace: [ 85.461245][ T5329] [ 85.461312][ T5329] dump_stack_lvl+0xe8/0x150 [ 85.461361][ T5329] print_deadlock_bug+0x279/0x290 [ 85.461375][ T5329] __lock_acquire+0x253f/0x2cf0 [ 85.461392][ T5329] ? lock_release+0x4b/0x3a0 [ 85.461434][ T5329] ? is_bpf_text_address+0x292/0x2b0 [ 85.461448][ T5329] ? is_bpf_text_address+0x26/0x2b0 [ 85.461462][ T5329] ? kernel_text_address+0xa5/0xe0 [ 85.461478][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 85.461491][ T5329] lock_acquire+0x106/0x330 [ 85.461501][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 85.461513][ T5329] __mutex_lock+0x19f/0x1300 [ 85.461562][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 85.461580][ T5329] ? check_path+0x21/0x40 [ 85.461592][ T5329] ? hfsplus_get_block+0x39e/0x1670 [ 85.461606][ T5329] ? add_lock_to_list+0xc7/0x100 [ 85.461617][ T5329] ? __pfx___mutex_lock+0x10/0x10 [ 85.461633][ T5329] hfsplus_get_block+0x39e/0x1670 [ 85.461652][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.461667][ T5329] ? block_read_full_folio+0x672/0x830 [ 85.461677][ T5329] block_read_full_folio+0x29f/0x830 [ 85.461689][ T5329] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.461704][ T5329] filemap_read_folio+0x137/0x3b0 [ 85.461721][ T5329] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.461738][ T5329] ? __pfx_filemap_read_folio+0x10/0x10 [ 85.461749][ T5329] ? filemap_add_folio+0x356/0x530 [ 85.461764][ T5329] do_read_cache_folio+0x358/0x590 [ 85.461774][ T5329] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.461790][ T5329] read_cache_page+0x5d/0x170 [ 85.461801][ T5329] hfsplus_block_free+0x134/0x630 [ 85.461815][ T5329] ? trace_kmalloc+0x1f/0xb0 [ 85.461831][ T5329] hfsplus_free_extents+0x121/0xa50 [ 85.461844][ T5329] hfsplus_file_truncate+0x762/0xc30 [ 85.461851][ T5329] ? __pfx___up_read+0x10/0x10 [ 85.461860][ T5329] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 85.461866][ T5329] ? unmap_mapping_range+0xe6/0x180 [ 85.461875][ T5329] ? __pfx_unmap_mapping_range+0x10/0x10 [ 85.461887][ T5329] ? truncate_setsize+0xcf/0xf0 [ 85.461901][ T5329] hfsplus_setattr+0x1c4/0x270 [ 85.461916][ T5329] ? __pfx_hfsplus_setattr+0x10/0x10 [ 85.461932][ T5329] notify_change+0xc1a/0xf40 [ 85.461948][ T5329] do_truncate+0x1c2/0x250 [ 85.461963][ T5329] ? __pfx_do_truncate+0x10/0x10 [ 85.461974][ T5329] ? apparmor_file_truncate+0x3b1/0x4a0 [ 85.462055][ T5329] path_openat+0x360c/0x3e20 [ 85.462078][ T5329] ? __pfx_path_openat+0x10/0x10 [ 85.462099][ T5329] do_filp_open+0x22d/0x490 [ 85.462115][ T5329] ? __pfx_do_filp_open+0x10/0x10 [ 85.462131][ T5329] ? _raw_spin_unlock+0x28/0x50 [ 85.462148][ T5329] ? alloc_fd+0x64b/0x6c0 [ 85.462166][ T5329] do_sys_openat2+0x12f/0x220 [ 85.462178][ T5329] ? __se_sys_futex+0x3a8/0x450 [ 85.462194][ T5329] ? __pfx_do_sys_openat2+0x10/0x10 [ 85.462203][ T5329] ? rcu_is_watching+0x15/0xb0 [ 85.462212][ T5329] __x64_sys_creat+0x8f/0xc0 [ 85.462221][ T5329] do_syscall_64+0xe2/0xf80 [ 85.462229][ T5329] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.462237][ T5329] ? trace_irq_disable+0x37/0x100 [ 85.462249][ T5329] ? clear_bhb_loop+0x60/0xb0 [ 85.462257][ T5329] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.462265][ T5329] RIP: 0033:0x7f855bb9aeb9 [ 85.462287][ T5329] 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.462310][ T5329] RSP: 002b:00007f855c970028 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 85.462323][ T5329] RAX: ffffffffffffffda RBX: 00007f855be15fa0 RCX: 00007f855bb9aeb9 [ 85.462331][ T5329] RDX: 0000000000000000 RSI: 0000000000000068 RDI: 0000200000000000 [ 85.462339][ T5329] RBP: 00007f855bc08c1f R08: 0000000000000000 R09: 0000000000000000 [ 85.462347][ T5329] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.462354][ T5329] R13: 00007f855be16038 R14: 00007f855be15fa0 R15: 00007fff8f5c61f8 [ 85.462366][ T5329] [ 85.705060][ T5329] hfsplus: unable to mark blocks free: error -5 [ 85.707835][ T5329] hfsplus: can't free extent: start 134, count 1