program: syz_mount_image$hfsplus(&(0x7f0000000600), &(0x7f0000000040)='./file1\x00', 0x0, &(0x7f0000000080)={[{@creator={'creator', 0x3d, "ac2453a2"}}, {@nodecompose}, {@part={'part', 0x3d, 0x6}}, {@part={'part', 0x3d, 0xc}}, {@uid}, {@barrier}, {@nls={'nls', 0x3d, 'macinuit'}}, {@gid={'gid', 0x3d, 0xee00}}]}, 0x3, 0x5f4, &(0x7f0000000640)="$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") r0 = syz_open_dev$dri(&(0x7f0000000080), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_ADDFB(r0, 0xc01c64ae, &(0x7f00000003c0)={0x0, 0x9, 0x6, 0x0, 0x4, 0x200, 0x3}) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000200)={'geneve1\x00', 0x0}) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000400)=@newlink={0x3c, 0x10, 0x1, 0x100, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x1c, 0x12, 0x0, 0x1, @geneve={{0xb}, {0xc, 0x2, 0x0, 0x1, [@IFLA_GENEVE_LABEL={0x8}]}}}]}, 0x3c}, 0x1, 0x0, 0x0, 0x20040000}, 0x20000000) r3 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPCTNL_MSG_CT_NEW(r3, &(0x7f0000000080)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)={0xa0, 0x0, 0x1, 0x401, 0x0, 0x0, {0xa}, [@CTA_TIMEOUT={0x8}, @CTA_TUPLE_REPLY={0x3c, 0x2, 0x0, 0x1, [@CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5}}, @CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @private2}, {0x14, 0x4, @local}}}]}, @CTA_TUPLE_ORIG={0x3c, 0x1, 0x0, 0x1, [@CTA_TUPLE_IP={0x2c, 0x1, 0x0, 0x1, @ipv6={{0x14, 0x3, @empty}, {0x14, 0x4, @ipv4={'\x00', '\xff\xff', @multicast1}}}}, @CTA_TUPLE_PROTO={0xc, 0x2, 0x0, 0x1, {0x5}}]}, @CTA_SYNPROXY={0xc, 0x18, 0x0, 0x1, [@CTA_SYNPROXY_ISN={0x8}]}]}, 0xa0}}, 0x0) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = creat(&(0x7f0000000200)='./file1\x00', 0x0) write$binfmt_misc(r5, &(0x7f0000000240)="4d175f04c1ac528cff27648d2d5f184acfe5e7c1fd4c4df644c50f19ecfe024147f29e0103b4a74b375c3dee314ab3d2e807cba8137f8c1549e1909c1517f6922f554e71a9f3c266b69a04817ff6c298ddeaa00dde3af4ae9747e55ff3aa3a0d87654500ec9cdfd17e7d797908af4f3162b87e801d62995abb6a4474a2c57256c8437b2d67f243b56bb5e43cc1f3bb117759c3bbcb26ffe38517935ce9017585c4116f60e487e06b463bd793bd77551099035bfa33802736c0c862e0a340f5825b2fbe3b87ca768d0f7a06d7ce49739df3bba3be61d56800e0747260db3b9dfd036ea6c2b155a692", 0xe8) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000000)=@ipv4_newroute={0x1c, 0x1c, 0x1, 0x70bd2c, 0x25dfdbfd, {0x2, 0x30, 0x10, 0x4, 0x0, 0x0, 0xfd, 0x3, 0x2900}}, 0x1c}, 0x1, 0x0, 0x0, 0x40c5}, 0x4000004) [ 85.521946][ T5338] Bluetooth: hci0: command tx timeout [ 85.616383][ T5362] loop0: detected capacity change from 0 to 1024 [ 85.719855][ T5362] [ 85.720973][ T5362] ============================================ [ 85.723718][ T5362] WARNING: possible recursive locking detected [ 85.726519][ T5362] 6.16.0-syzkaller-11743-g6bcdbd62bd56 #0 Not tainted [ 85.729555][ T5362] -------------------------------------------- [ 85.732211][ T5362] syz.0.0/5362 is trying to acquire lock: [ 85.734749][ T5362] ffff88805327d548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1530 [ 85.739613][ T5362] [ 85.739613][ T5362] but task is already holding lock: [ 85.742790][ T5362] ffff88805327e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 85.747679][ T5362] [ 85.747679][ T5362] other info that might help us debug this: [ 85.751052][ T5362] Possible unsafe locking scenario: [ 85.751052][ T5362] [ 85.754217][ T5362] CPU0 [ 85.755603][ T5362] ---- [ 85.757156][ T5362] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.759815][ T5362] lock(&HFSPLUS_I(inode)->extents_lock); [ 85.762342][ T5362] [ 85.762342][ T5362] *** DEADLOCK *** [ 85.762342][ T5362] [ 85.765684][ T5362] May be due to missing lock nesting notation [ 85.765684][ T5362] [ 85.769346][ T5362] 4 locks held by syz.0.0/5362: [ 85.771929][ T5362] #0: ffff888011e20428 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 85.776609][ T5362] #1: ffff88805327eb78 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: do_truncate+0x171/0x220 [ 85.781511][ T5362] #2: ffff88805327e988 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 85.786129][ T5362] #3: ffff88805326d0f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xbe/0x550 [ 85.790533][ T5362] [ 85.790533][ T5362] stack backtrace: [ 85.793113][ T5362] CPU: 0 UID: 0 PID: 5362 Comm: syz.0.0 Not tainted 6.16.0-syzkaller-11743-g6bcdbd62bd56 #0 PREEMPT(full) [ 85.793130][ T5362] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 85.793137][ T5362] Call Trace: [ 85.793145][ T5362] [ 85.793152][ T5362] dump_stack_lvl+0x189/0x250 [ 85.793175][ T5362] ? __pfx_dump_stack_lvl+0x10/0x10 [ 85.793188][ T5362] ? __pfx__printk+0x10/0x10 [ 85.793204][ T5362] ? print_lock_name+0xde/0x100 [ 85.793220][ T5362] print_deadlock_bug+0x28b/0x2a0 [ 85.793232][ T5362] validate_chain+0x1a3f/0x2140 [ 85.793242][ T5362] ? lock_release+0x4b/0x3e0 [ 85.793257][ T5362] ? look_up_lock_class+0x74/0x170 [ 85.793314][ T5362] ? register_lock_class+0x51/0x320 [ 85.793330][ T5362] __lock_acquire+0xab9/0xd20 [ 85.793346][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.793358][ T5362] lock_acquire+0x120/0x360 [ 85.793370][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.793381][ T5362] ? stack_trace_save+0x9c/0xe0 [ 85.793392][ T5362] ? __pfx_hlock_conflict+0x10/0x10 [ 85.793404][ T5362] __mutex_lock+0x187/0x1360 [ 85.793416][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.793428][ T5362] ? lockdep_unlock+0x89/0x120 [ 85.793442][ T5362] ? hfsplus_get_block+0x39e/0x1530 [ 85.793452][ T5362] ? __pfx___mutex_lock+0x10/0x10 [ 85.793468][ T5362] hfsplus_get_block+0x39e/0x1530 [ 85.793481][ T5362] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.793516][ T5362] ? do_raw_spin_unlock+0x4d/0x240 [ 85.793529][ T5362] ? _raw_spin_unlock+0x28/0x50 [ 85.793540][ T5362] block_read_full_folio+0x29c/0x830 [ 85.793553][ T5362] ? __pfx_hfsplus_get_block+0x10/0x10 [ 85.793565][ T5362] filemap_read_folio+0x117/0x380 [ 85.793581][ T5362] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.793598][ T5362] ? __pfx_filemap_read_folio+0x10/0x10 [ 85.793613][ T5362] ? filemap_add_folio+0x1af/0x270 [ 85.793625][ T5362] do_read_cache_folio+0x350/0x590 [ 85.793640][ T5362] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 85.793655][ T5362] read_cache_page+0x5d/0x170 [ 85.793663][ T5362] hfsplus_block_free+0x121/0x550 [ 85.793678][ T5362] hfsplus_free_extents+0x10d/0xa60 [ 85.793689][ T5362] hfsplus_file_truncate+0x736/0xb40 [ 85.793703][ T5362] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 85.793713][ T5362] ? unmap_mapping_range+0xde/0x170 [ 85.793723][ T5362] ? __pfx_unmap_mapping_range+0x10/0x10 [ 85.793733][ T5362] ? truncate_setsize+0xcf/0xf0 [ 85.793744][ T5362] hfsplus_setattr+0x1c4/0x270 [ 85.793754][ T5362] ? __pfx_hfsplus_setattr+0x10/0x10 [ 85.793763][ T5362] notify_change+0xb36/0xe40 [ 85.793775][ T5362] do_truncate+0x1a4/0x220 [ 85.793787][ T5362] ? __pfx_do_truncate+0x10/0x10 [ 85.793797][ T5362] ? apparmor_file_truncate+0x23e/0x2d0 [ 85.793816][ T5362] path_openat+0x306c/0x3830 [ 85.793835][ T5362] ? __pfx_path_openat+0x10/0x10 [ 85.793844][ T5362] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.793866][ T5362] do_filp_open+0x1fa/0x410 [ 85.793877][ T5362] ? __lock_acquire+0xab9/0xd20 [ 85.793892][ T5362] ? __pfx_do_filp_open+0x10/0x10 [ 85.793906][ T5362] ? _raw_spin_unlock+0x28/0x50 [ 85.793914][ T5362] ? alloc_fd+0x64c/0x6c0 [ 85.793927][ T5362] do_sys_openat2+0x121/0x1c0 [ 85.793942][ T5362] ? __pfx_do_sys_openat2+0x10/0x10 [ 85.793957][ T5362] ? rcu_is_watching+0x15/0xb0 [ 85.793967][ T5362] __x64_sys_creat+0x8f/0xc0 [ 85.793981][ T5362] do_syscall_64+0xfa/0x3b0 [ 85.793993][ T5362] ? lockdep_hardirqs_on+0x9c/0x150 [ 85.794002][ T5362] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.794011][ T5362] ? clear_bhb_loop+0x60/0xb0 [ 85.794021][ T5362] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 85.794031][ T5362] RIP: 0033:0x7ffaa758ebe9 [ 85.794041][ T5362] 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 [ 85.794050][ T5362] RSP: 002b:00007ffaa8471038 EFLAGS: 00000246 ORIG_RAX: 0000000000000055 [ 85.794062][ T5362] RAX: ffffffffffffffda RBX: 00007ffaa77b5fa0 RCX: 00007ffaa758ebe9 [ 85.794071][ T5362] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000200 [ 85.794078][ T5362] RBP: 00007ffaa7611e19 R08: 0000000000000000 R09: 0000000000000000 [ 85.794084][ T5362] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 85.794090][ T5362] R13: 00007ffaa77b6038 R14: 00007ffaa77b5fa0 R15: 00007ffe4646b3f8 [ 85.794100][ T5362] [ 85.998596][ T5362] hfsplus: unable to mark blocks free: error -5 [ 86.002437][ T5362] hfsplus: can't free extent