program: syz_mount_image$hfsplus(&(0x7f0000000040), &(0x7f0000000080)='./file1\x00', 0x400, &(0x7f0000000140)=ANY=[], 0x1, 0x694, &(0x7f0000001100)="$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") r0 = creat(&(0x7f0000000000)='./bus\x00', 0x0) io_setup(0x202, &(0x7f0000000200)=0x0) mount(&(0x7f0000000280)=@loop={'/dev/loop', 0x0}, &(0x7f0000000140)='./bus\x00', 0x0, 0x5000, 0x0) r2 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r2, 0x4c04, &(0x7f0000000540)={0x0, 0x0, 0x0, 0x0, 0x8005, 0x0, 0x0, 0x15, 0x1c, "ef359f413bb93852f7d6a4ae6dddfbd1ce5d29c2ee5e5ca9000ff8ee09e737ff0edf110ff4117639c2eb4b78c660e677df701905b9aafab4afaaf755a3f6a004", "036c47c6780820d1cbf7966d61fdcf335263bd9bffbcc2542ded71038259ca171ce1a311ef54ec32d71e14ef3dc177e9b48b00", "f28359738e229a4c66810000000000d300e6d602000000000000000000000001", [0x204]}) creat(&(0x7f0000000100)='./file1\x00', 0x110) io_submit(r1, 0x3b, &(0x7f0000000540)=[&(0x7f00000000c0)={0x25, 0xe7030000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x70000}]) [ 75.432110][ T4685] Bluetooth: hci0: command tx timeout [ 75.511246][ T5338] loop0: detected capacity change from 0 to 1024 [ 75.590677][ T5338] loop0: detected capacity change from 1024 to 64 [ 75.606885][ T5338] syz.0.0: attempt to access beyond end of device [ 75.606885][ T5338] loop0: rw=8388608, sector=86, nr_sectors = 2 limit=64 [ 75.637396][ T5338] Buffer I/O error on dev loop0, logical block 43, async page read [ 75.646543][ T5338] syz.0.0: attempt to access beyond end of device [ 75.646543][ T5338] loop0: rw=8388608, sector=88, nr_sectors = 2 limit=64 [ 75.655861][ T5338] Buffer I/O error on dev loop0, logical block 44, async page read [ 75.659830][ T5338] syz.0.0: attempt to access beyond end of device [ 75.659830][ T5338] loop0: rw=8388608, sector=90, nr_sectors = 2 limit=64 [ 75.667612][ T5338] Buffer I/O error on dev loop0, logical block 45, async page read [ 75.672959][ T5338] syz.0.0: attempt to access beyond end of device [ 75.672959][ T5338] loop0: rw=8388608, sector=92, nr_sectors = 2 limit=64 [ 75.678444][ T5338] Buffer I/O error on dev loop0, logical block 46, async page read [ 75.688250][ T5338] hfsplus: xattr searching failed [ 75.692368][ T5339] hfsplus: xattr searching failed [ 75.704158][ T5339] [ 75.705260][ T5339] ====================================================== [ 75.708250][ T5339] WARNING: possible circular locking dependency detected [ 75.711123][ T5339] syzkaller #0 Not tainted [ 75.713097][ T5339] ------------------------------------------------------ [ 75.716087][ T5339] syz.0.0/5339 is trying to acquire lock: [ 75.718481][ T5339] ffff888040fb0108 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1c30 [ 75.723086][ T5339] [ 75.723086][ T5339] but task is already holding lock: [ 75.726050][ T5339] ffff8880351fa0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 75.730683][ T5339] [ 75.730683][ T5339] which lock already depends on the new lock. [ 75.730683][ T5339] [ 75.735405][ T5339] [ 75.735405][ T5339] the existing dependency chain (in reverse order) is: [ 75.739753][ T5339] [ 75.739753][ T5339] -> #1 (&tree->tree_lock/1){+.+.}-{4:4}: [ 75.743278][ T5339] __mutex_lock+0x187/0x1350 [ 75.745668][ T5339] hfsplus_find_init+0x168/0x2d0 [ 75.748149][ T5339] hfsplus_file_truncate+0x387/0xc10 [ 75.750795][ T5339] hfsplus_setattr+0x1c4/0x270 [ 75.753134][ T5339] notify_change+0xc1a/0xf40 [ 75.755184][ T5339] do_truncate+0x1a4/0x220 [ 75.757218][ T5339] path_openat+0x359d/0x3dd0 [ 75.759537][ T5339] do_filp_open+0x1fa/0x410 [ 75.761772][ T5339] do_sys_openat2+0x121/0x200 [ 75.764127][ T5339] __x64_sys_creat+0x8f/0xc0 [ 75.766443][ T5339] do_syscall_64+0xec/0xf80 [ 75.768700][ T5339] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.771621][ T5339] [ 75.771621][ T5339] -> #0 (&HFSPLUS_I(inode)->extents_lock){+.+.}-{4:4}: [ 75.775350][ T5339] __lock_acquire+0x15a6/0x2cf0 [ 75.777514][ T5339] lock_acquire+0x107/0x340 [ 75.779441][ T5339] __mutex_lock+0x187/0x1350 [ 75.781523][ T5339] hfsplus_file_extend+0x1f8/0x1c30 [ 75.783713][ T5339] hfsplus_bmap_reserve+0x125/0x510 [ 75.786045][ T5339] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.788735][ T5339] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.791436][ T5339] hfsplus_file_extend+0x437/0x1c30 [ 75.793984][ T5339] hfsplus_get_block+0x40a/0x1600 [ 75.796300][ T5339] __block_write_begin_int+0x6b5/0x1900 [ 75.798720][ T5339] cont_write_begin+0x78c/0xb50 [ 75.801048][ T5339] hfsplus_write_begin+0x66/0xb0 [ 75.803402][ T5339] generic_perform_write+0x2c5/0x900 [ 75.805897][ T5339] generic_file_write_iter+0x117/0x550 [ 75.808489][ T5339] aio_write+0x535/0x7a0 [ 75.810576][ T5339] io_submit_one+0x775/0x1430 [ 75.813110][ T5339] __se_sys_io_submit+0x185/0x320 [ 75.816085][ T5339] do_syscall_64+0xec/0xf80 [ 75.818274][ T5339] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.820977][ T5339] [ 75.820977][ T5339] other info that might help us debug this: [ 75.820977][ T5339] [ 75.825391][ T5339] Possible unsafe locking scenario: [ 75.825391][ T5339] [ 75.828322][ T5339] CPU0 CPU1 [ 75.830455][ T5339] ---- ---- [ 75.832683][ T5339] lock(&tree->tree_lock/1); [ 75.834781][ T5339] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.838445][ T5339] lock(&tree->tree_lock/1); [ 75.841485][ T5339] lock(&HFSPLUS_I(inode)->extents_lock); [ 75.843974][ T5339] [ 75.843974][ T5339] *** DEADLOCK *** [ 75.843974][ T5339] [ 75.847482][ T5339] 3 locks held by syz.0.0/5339: [ 75.849497][ T5339] #0: ffff888040fb2b78 (&sb->s_type->i_mutex_key#24){+.+.}-{4:4}, at: generic_file_write_iter+0xeb/0x550 [ 75.854198][ T5339] #1: ffff888040fb2988 (&hip->extents_lock){+.+.}-{4:4}, at: hfsplus_file_extend+0x1f8/0x1c30 [ 75.858430][ T5339] #2: ffff8880351fa0b0 (&tree->tree_lock/1){+.+.}-{4:4}, at: hfsplus_find_init+0x168/0x2d0 [ 75.862528][ T5339] [ 75.862528][ T5339] stack backtrace: [ 75.865078][ T5339] CPU: 0 UID: 0 PID: 5339 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) [ 75.865094][ T5339] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 [ 75.865101][ T5339] Call Trace: [ 75.865108][ T5339] [ 75.865116][ T5339] dump_stack_lvl+0xe8/0x150 [ 75.865134][ T5339] print_circular_bug+0x2e2/0x300 [ 75.865151][ T5339] check_noncircular+0x12e/0x150 [ 75.865165][ T5339] __lock_acquire+0x15a6/0x2cf0 [ 75.865177][ T5339] ? rcu_is_watching+0x15/0xb0 [ 75.865188][ T5339] ? __kasan_check_byte+0x12/0x40 [ 75.865198][ T5339] ? rcu_is_watching+0x15/0xb0 [ 75.865211][ T5339] ? lock_release+0x4b/0x3b0 [ 75.865221][ T5339] ? lock_release+0x4b/0x3b0 [ 75.865235][ T5339] ? hfsplus_file_extend+0x1f8/0x1c30 [ 75.865248][ T5339] lock_acquire+0x107/0x340 [ 75.865258][ T5339] ? hfsplus_file_extend+0x1f8/0x1c30 [ 75.865272][ T5339] __mutex_lock+0x187/0x1350 [ 75.865282][ T5339] ? hfsplus_file_extend+0x1f8/0x1c30 [ 75.865295][ T5339] ? stack_trace_save+0x9c/0xe0 [ 75.865311][ T5339] ? __pfx_stack_trace_save+0x10/0x10 [ 75.865329][ T5339] ? hfsplus_file_extend+0x1f8/0x1c30 [ 75.865340][ T5339] ? check_noncircular+0xda/0x150 [ 75.865351][ T5339] ? __pfx___mutex_lock+0x10/0x10 [ 75.865361][ T5339] ? add_lock_to_list+0xc7/0x100 [ 75.865382][ T5339] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 75.865399][ T5339] hfsplus_file_extend+0x1f8/0x1c30 [ 75.865413][ T5339] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.865425][ T5339] ? __pfx___mutex_trylock_common+0x10/0x10 [ 75.865440][ T5339] ? rcu_is_watching+0x15/0xb0 [ 75.865452][ T5339] ? trace_contention_end+0x39/0x100 [ 75.865464][ T5339] ? __asan_memset+0x22/0x50 [ 75.865477][ T5339] ? hfsplus_brec_find+0x1a9/0x510 [ 75.865493][ T5339] hfsplus_bmap_reserve+0x125/0x510 [ 75.865508][ T5339] __hfsplus_ext_write_extent+0x28d/0x5b0 [ 75.865521][ T5339] __hfsplus_ext_cache_extent+0x89/0xe30 [ 75.865535][ T5339] hfsplus_file_extend+0x437/0x1c30 [ 75.865550][ T5339] ? __pfx_hfsplus_file_extend+0x10/0x10 [ 75.865562][ T5339] ? clean_bdev_aliases+0x5c9/0x6b0 [ 75.865577][ T5339] ? __pfx_clean_bdev_aliases+0x10/0x10 [ 75.865592][ T5339] hfsplus_get_block+0x40a/0x1600 [ 75.865605][ T5339] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.865616][ T5339] ? do_raw_spin_unlock+0x4d/0x240 [ 75.865630][ T5339] ? _raw_spin_unlock+0x28/0x50 [ 75.865644][ T5339] __block_write_begin_int+0x6b5/0x1900 [ 75.865661][ T5339] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.865672][ T5339] ? __pfx___block_write_begin_int+0x10/0x10 [ 75.865689][ T5339] cont_write_begin+0x78c/0xb50 [ 75.865706][ T5339] ? __pfx_cont_write_begin+0x10/0x10 [ 75.865723][ T5339] hfsplus_write_begin+0x66/0xb0 [ 75.865732][ T5339] ? __pfx_hfsplus_get_block+0x10/0x10 [ 75.865744][ T5339] generic_perform_write+0x2c5/0x900 [ 75.865757][ T5339] ? __pfx_generic_perform_write+0x10/0x10 [ 75.865767][ T5339] ? file_update_time_flags+0x448/0x4e0 [ 75.865780][ T5339] ? __generic_file_write_iter+0xf9/0x230 [ 75.865787][ T5339] ? generic_file_write_iter+0x103/0x550 [ 75.865797][ T5339] generic_file_write_iter+0x117/0x550 [ 75.865805][ T5339] ? __pfx_generic_file_write_iter+0x10/0x10 [ 75.865815][ T5339] ? __lock_acquire+0x6b6/0x2cf0 [ 75.865826][ T5339] ? _raw_spin_unlock_irqrestore+0x30/0x80 [ 75.865840][ T5339] ? lockdep_hardirqs_on+0x7b/0x110 [ 75.865849][ T5339] ? _raw_spin_unlock_irqrestore+0x4c/0x80 [ 75.865863][ T5339] ? stack_depot_save_flags+0x3f3/0x810 [ 75.865876][ T5339] ? io_submit_one+0x775/0x1430 [ 75.865887][ T5339] ? aio_write+0x4c4/0x7a0 [ 75.865897][ T5339] aio_write+0x535/0x7a0 [ 75.865907][ T5339] ? __pfx_aio_write+0x10/0x10 [ 75.865918][ T5339] ? __might_fault+0xb0/0x130 [ 75.865930][ T5339] io_submit_one+0x775/0x1430 [ 75.865940][ T5339] ? irqentry_exit+0x5e8/0x670 [ 75.865949][ T5339] ? __pfx_io_submit_one+0x10/0x10 [ 75.865960][ T5339] ? __might_fault+0xb0/0x130 [ 75.865974][ T5339] ? __might_fault+0xb0/0x130 [ 75.865985][ T5339] __se_sys_io_submit+0x185/0x320 [ 75.865998][ T5339] ? __pfx___se_sys_io_submit+0x10/0x10 [ 75.866010][ T5339] ? exc_page_fault+0x71/0xd0 [ 75.866025][ T5339] ? do_user_addr_fault+0xc85/0x1380 [ 75.866037][ T5339] do_syscall_64+0xec/0xf80 [ 75.866047][ T5339] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.866057][ T5339] ? trace_irq_disable+0x37/0x100 [ 75.866071][ T5339] ? clear_bhb_loop+0x60/0xb0 [ 75.866083][ T5339] entry_SYSCALL_64_after_hwframe+0x77/0x7f [ 75.866094][ T5339] RIP: 0033:0x7f36ba98f7c9 [ 75.866107][ T5339] 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.866116][ T5339] RSP: 002b:00007f36bb79b038 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1 [ 75.866127][ T5339] RAX: ffffffffffffffda RBX: 00007f36babe6090 RCX: 00007f36ba98f7c9 [ 75.866136][ T5339] RDX: 0000200000000540 RSI: 000000000000003b RDI: 00007f36bb772000 [ 75.866143][ T5339] RBP: 00007f36baa13f91 R08: 0000000000000000 R09: 0000000000000000 [ 75.866150][ T5339] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 75.866156][ T5339] R13: 00007f36babe6128 R14: 00007f36babe6090 R15: 00007ffde6d28dd8 [ 75.866169][ T5339] [ 76.097278][ T5339] syz.0.0: attempt to access beyond end of device [ 76.097278][ T5339] loop0: rw=8390665, sector=318, nr_sectors = 64 limit=64 [ 76.106880][ T5339] syz.0.0: attempt to access beyond end of device [ 76.106880][ T5339] loop0: rw=8390665, sector=382, nr_sectors = 44 limit=64