program: r0 = socket$rds(0x15, 0x5, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000001400), r1) 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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") r3 = openat$dir(0xffffffffffffff9c, &(0x7f0000000300)='.\x00', 0x2000, 0x12) getdents64(r3, &(0x7f0000000100)=""/154, 0x9a) unlinkat(0xffffffffffffff9c, &(0x7f00000003c0)='./file2\x00', 0x0) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000001440)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_GET_KEY(r1, &(0x7f0000003bc0)={0x0, 0x0, &(0x7f0000003b80)={&(0x7f0000000200)={0x28, r2, 0x1, 0x70bd2c, 0x25dfdbfe, {{}, {@val={0xffffffffffffffbe, 0x3, r4}, @void}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_KEY_DATA_WEP40={0x0, 0x7, "55cb62e10b"}, @NL80211_ATTR_KEY_SEQ, @NL80211_ATTR_KEY_IDX={0x0, 0x8, 0x1}]}, 0x28}, 0x1, 0x0, 0x0, 0x880}, 0x4) setsockopt$RDS_FREE_MR(r0, 0x114, 0x6, 0x0, 0x0) syz_mount_image$squashfs(&(0x7f0000000180), &(0x7f00000001c0)='./file0\x00', 0x800, &(0x7f0000001180)=ANY=[], 0x1, 0x17f, &(0x7f0000000500)="$eJzskrFOKkEUhv/ZXVjuLci9ya1ooCBXLZRlUWNstMTezkYCKxIXFZZEIRRrjKGwMJY+Ac9gZ+ILaGF8AGoKYm3WzOzZyYCP4HwF/55/zpw957DHQSewAXzOhnXsQmAii1fGYAHIs9ibGrHek76R3sWCF8rbI/+aNBf0Byc13/e6he0C/s4ZAD6EFzCygp0rA1NR6n02rPOHQwBRFEXcawA8/dEGZI4JoKPk5Czgnxgikjl8EB4sASj12ueloD9YbbVrTa/pnbpmZdNZd5wNt3TU8j0n/mVKGzQKuK4AsDOQ8PMUgBuKf2MeprRG5+wXDuTddLLDLMMihnI3UYYn2ZeN5P8C9vEfvK2LkCluUVSxIEaqgsGkoGwp/cXvyoiDtfqZ3xiBgSXXxrBkjfIEKRm4alDZCpO2R6RF0irpmHRCml/4ZCxR4Zai5RBI47LW63XLfEnxk/Rc6bl/QnVh/K0Pxvxwz8a33Wo0Go1Go9FoNBrNT+MrAAD//3zxeBc=") r5 = openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0x0, 0x0) r6 = open_tree(r5, &(0x7f0000000340)='./file0\x00', 0x0) r7 = syz_mount_image$msdos(&(0x7f0000000240), &(0x7f0000000280)='./file0\x00', 0x0, &(0x7f0000000000)={[{@fat=@flush}]}, 0x1, 0x204, &(0x7f0000000300)="$eJzs3D1rU1EYB/BjW/sS6csk6OJBF10uWifHIC2IAaU2og7CLU01JCYlN2IiDp2d/BzF0U0Qv0C/hVsRpFMnI236btXFNkp+PwjnCX8Cz+Fww3MDueuP3r2oLGXJUtoMA6MxDIWwEjZDmAoDYTB0ndlZB7br4XDQSrh26+XG2wePn9zNFwozczHO5udvTscYJy59evXm/eXPzXMPP0x8HAlrU0/Xv01/WTu/dmH9+/zzchbLWazVmzGNC/V6M12oluJiOaskMd6vltKsFMu1rNQ4lC9V68vL7ZjWFsdzy41SlsW01o6VUjs267HZaMf0WVquxSRJ4ngu8CfF1bm5NN/rLjhZjUY+3bqWx35Kiqs9aQgA6Cnzfz8z//eDrfk/t3P9Hmb+BwAAAAAAAAAAAACA/8FmpzPZ6XQmd9fd10gIYTSEsPu+131yMpx/f3P+/c3597cDf9wdDeHrSqvYKnbXbj57pzBzPW6b2v/URqtVHNzLb3TzeDg/G3I7+fSx+XC4eqWbb2W37xWO5GNh8eS3DwAAAH0hiXuOvb9Pkl/l3erA7wNH7t+HwsWhU9sGAAAA8BtZ+3UlrVZLDYVCodgrev3NBAAA/G37Q3+vOwEAAAAAAAAAAAAAAAAAAID+dRqPE+v1HgEAAAAAAAAAAAAAAAAAAAAA4F/zIwAA//9H0gGX") unlink(&(0x7f0000000000)='./file0/file0\x00') ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(0xffffffffffffffff, 0xc018937d, &(0x7f0000000080)={{0x1, 0x1, 0x18, r7, {0x5eb}}, './file0\x00'}) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(r8, 0xc0189374, &(0x7f00000000c0)={{0x1, 0x1, 0x18, r0}, './file0/file0\x00'}) r9 = openat(0xffffffffffffff9c, &(0x7f0000000040)='.\x00', 0x0, 0x0) mkdirat(r9, &(0x7f0000000180)='./bus\x00', 0x0) ioctl$VIDIOC_G_CTRL(r6, 0xc008561b, &(0x7f00000002c0)={0x81, 0x7}) r10 = openat(0xffffffffffffff9c, &(0x7f0000000040)='.\x00', 0x0, 0x0) mkdirat(r10, &(0x7f0000000280)='./bus/file0\x00', 0x0) renameat2(r9, &(0x7f0000000240)='./bus/file0\x00', r10, &(0x7f00000001c0)='./file0\x00', 0x0) [ 75.327148][ T5305] Bluetooth: hci0: command tx timeout [ 75.392408][ T5326] loop0: detected capacity change from 0 to 1024 [ 75.478466][ T5326] netlink: 20 bytes leftover after parsing attributes in process `syz.0.0'. [ 75.507328][ T5326] [ 75.508393][ T5326] ============================================ [ 75.511066][ T5326] WARNING: possible recursive locking detected [ 75.513771][ T5326] 6.16.0-rc2-syzkaller-00047-g52da431bf03b #0 Not tainted [ 75.516793][ T5326] -------------------------------------------- [ 75.519343][ T5326] syz.0.0/5326 is trying to acquire lock: [ 75.521805][ T5326] ffff8880531c1548 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_get_block+0x39e/0x1530 [ 75.526627][ T5326] [ 75.526627][ T5326] but task is already holding lock: [ 75.530030][ T5326] ffff8880531c3708 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 75.535286][ T5326] [ 75.535286][ T5326] other info that might help us debug this: [ 75.538657][ T5326] Possible unsafe locking scenario: [ 75.538657][ T5326] [ 75.541960][ T5326] CPU0 [ 75.543387][ T5326] ---- [ 75.544858][ T5326] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.547094][ T5326] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.549594][ T5326] [ 75.549594][ T5326] *** DEADLOCK *** [ 75.549594][ T5326] [ 75.552845][ T5326] May be due to missing lock nesting notation [ 75.552845][ T5326] [ 75.556216][ T5326] 6 locks held by syz.0.0/5326: [ 75.558277][ T5326] #0: ffff888036002428 (sb_writers#12){.+.+}-{0:0}, at: mnt_want_write+0x41/0x90 [ 75.562301][ T5326] #1: ffff8880531c3238 (&type->i_mutex_dir_key#8/1){+.+.}-{4:4}, at: do_unlinkat+0x1bf/0x560 [ 75.567473][ T5326] #2: ffff8880531c38f8 (&sb->s_type->i_mutex_key#20){+.+.}-{4:4}, at: vfs_unlink+0xf2/0x650 [ 75.572488][ T5326] #3: ffff888053192198 (&sbi->vh_mutex){+.+.}-{4:4}, at: hfsplus_unlink+0x160/0x730 [ 75.577233][ T5326] #4: ffff8880531c3708 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_truncate+0x294/0xb40 [ 75.582326][ T5326] #5: ffff8880531920f8 (&sbi->alloc_mutex){+.+.}-{4:4}, at: hfsplus_block_free+0xbe/0x550 [ 75.587116][ T5326] [ 75.587116][ T5326] stack backtrace: [ 75.589539][ T5326] CPU: 0 UID: 0 PID: 5326 Comm: syz.0.0 Not tainted 6.16.0-rc2-syzkaller-00047-g52da431bf03b #0 PREEMPT(full) [ 75.589557][ T5326] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 75.589565][ T5326] Call Trace: [ 75.589573][ T5326] [ 75.589579][ T5326] dump_stack_lvl+0x189/0x250 [ 75.589602][ T5326] ? __pfx_dump_stack_lvl+0x10/0x10 [ 75.589620][ T5326] ? __pfx__printk+0x10/0x10 [ 75.589634][ T5326] ? __kasan_check_byte+0x12/0x40 [ 75.589646][ T5326] ? print_lock_name+0xde/0x100 [ 75.589657][ T5326] print_deadlock_bug+0x28b/0x2a0 [ 75.589670][ T5326] validate_chain+0x1a3f/0x2140 [ 75.589682][ T5326] ? is_bpf_text_address+0x292/0x2b0 [ 75.589698][ T5326] ? is_bpf_text_address+0x26/0x2b0 [ 75.589711][ T5326] ? look_up_lock_class+0x74/0x170 [ 75.589778][ T5326] ? register_lock_class+0x51/0x320 [ 75.589795][ T5326] __lock_acquire+0xab9/0xd20 [ 75.589809][ T5326] ? hfsplus_get_block+0x39e/0x1530 [ 75.589818][ T5326] lock_acquire+0x120/0x360 [ 75.589827][ T5326] ? hfsplus_get_block+0x39e/0x1530 [ 75.589836][ T5326] ? __pfx_hlock_conflict+0x10/0x10 [ 75.589843][ T5326] __mutex_lock+0x182/0xe80 [ 75.589851][ T5326] ? hfsplus_get_block+0x39e/0x1530 [ 75.589859][ T5326] ? lockdep_unlock+0x89/0x120 [ 75.589868][ T5326] ? validate_chain+0x897/0x2140 [ 75.589874][ T5326] ? hfsplus_get_block+0x39e/0x1530 [ 75.589883][ T5326] ? __pfx___mutex_lock+0x10/0x10 [ 75.589891][ T5326] hfsplus_get_block+0x39e/0x1530 [ 75.589905][ T5326] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.589917][ T5326] ? do_raw_spin_unlock+0x4d/0x240 [ 75.589929][ T5326] ? _raw_spin_unlock+0x28/0x50 [ 75.589945][ T5326] block_read_full_folio+0x29c/0x830 [ 75.589960][ T5326] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.589973][ T5326] filemap_read_folio+0x114/0x380 [ 75.589986][ T5326] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 75.589997][ T5326] ? __pfx_filemap_read_folio+0x10/0x10 [ 75.590010][ T5326] ? filemap_add_folio+0x1af/0x270 [ 75.590021][ T5326] do_read_cache_folio+0x350/0x590 [ 75.590035][ T5326] ? __pfx_hfsplus_read_folio+0x10/0x10 [ 75.590048][ T5326] read_cache_page+0x5d/0x170 [ 75.590063][ T5326] hfsplus_block_free+0x121/0x550 [ 75.590075][ T5326] hfsplus_free_extents+0x176/0xae0 [ 75.590087][ T5326] hfsplus_file_truncate+0x736/0xb40 [ 75.590098][ T5326] ? __pfx_hfsplus_file_truncate+0x10/0x10 [ 75.590116][ T5326] ? tomoyo_path_perm+0x1e3/0x4b0 [ 75.590131][ T5326] ? __pfx___mutex_lock+0x10/0x10 [ 75.590142][ T5326] ? __lock_acquire+0xab9/0xd20 [ 75.590157][ T5326] hfsplus_delete_inode+0x180/0x230 [ 75.590170][ T5326] hfsplus_unlink+0x4e3/0x730 [ 75.590184][ T5326] ? vfs_unlink+0xf2/0x650 [ 75.590196][ T5326] ? __pfx_hfsplus_unlink+0x10/0x10 [ 75.590211][ T5326] ? __pfx_down_write+0x10/0x10 [ 75.590223][ T5326] ? bpf_lsm_inode_unlink+0x9/0x20 [ 75.590236][ T5326] vfs_unlink+0x394/0x650 [ 75.590243][ T5326] do_unlinkat+0x350/0x560 [ 75.590250][ T5326] ? __pfx_do_unlinkat+0x10/0x10 [ 75.590257][ T5326] ? getname_flags+0x1e5/0x540 [ 75.590265][ T5326] __x64_sys_unlink+0x47/0x50 [ 75.590271][ T5326] do_syscall_64+0xfa/0x3b0 [ 75.590278][ T5326] ? lockdep_hardirqs_on+0x9c/0x150 [ 75.590288][ T5326] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.590298][ T5326] ? clear_bhb_loop+0x60/0xb0 [ 75.590309][ T5326] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.590319][ T5326] RIP: 0033:0x7fe48018e929 [ 75.590330][ T5326] 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 [ 75.590339][ T5326] RSP: 002b:00007fe480fb3038 EFLAGS: 00000246 ORIG_RAX: 0000000000000057 [ 75.590353][ T5326] RAX: ffffffffffffffda RBX: 00007fe4803b5fa0 RCX: 00007fe48018e929 [ 75.590360][ T5326] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000200000000000 [ 75.590367][ T5326] RBP: 00007fe480210b39 R08: 0000000000000000 R09: 0000000000000000 [ 75.590373][ T5326] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 75.590379][ T5326] R13: 0000000000000000 R14: 00007fe4803b5fa0 R15: 00007ffc49c59b58 [ 75.590388][ T5326] [ 75.777960][ T5326] hfsplus: unable to mark blocks free: error -5 [ 75.780724][ T5326] hfsplus: can't free extent