ntfs3(loop7): ino=1e, "file1" attr_set_size
======================================================
WARNING: possible circular locking dependency detected
syzkaller #0 Not tainted
------------------------------------------------------
syz.7.1225/13984 is trying to acquire lock:
ffff8881132b93e8 (mapping.invalidate_lock#12){.+.+}-{4:4}, at: filemap_fault+0x548/0x1200

but task is already holding lock:
ffff888126abe688 (vm_lock){++++}-{0:0}, at: lock_vma_under_rcu+0x19f/0x3d0

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #3 (vm_lock){++++}-{0:0}:
       lock_acquire+0x120/0x360
       __vma_enter_locked+0x182/0x380
       __vma_start_write+0x1e/0x120
       mprotect_fixup+0x578/0x9c0
       setup_arg_pages+0x53a/0xaa0
       load_elf_binary+0xba4/0x2740
       bprm_execve+0x99c/0x1450
       kernel_execve+0x8f0/0x9f0
       try_to_run_init_process+0x13/0x60
       kernel_init+0xad/0x1d0
       ret_from_fork+0x3fc/0x770
       ret_from_fork_asm+0x1a/0x30

-> #2 (&mm->mmap_lock){++++}-{4:4}:
       lock_acquire+0x120/0x360
       __might_fault+0xcc/0x130
       _copy_to_user+0x2c/0xb0
       fiemap_fill_next_extent+0x1c0/0x390
       ni_fiemap+0x89c/0xbf0
       ntfs_fiemap+0x11d/0x1a0
       do_vfs_ioctl+0x1173/0x1430
       __se_sys_ioctl+0x82/0x170
       do_syscall_64+0xfa/0x3b0
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #1 (&ni->ni_lock#3/5){+.+.}-{4:4}:
       lock_acquire+0x120/0x360
       __mutex_lock+0x187/0x1350
       attr_data_get_block+0x2ec/0x1ec0
       ntfs_get_block_vbo+0x392/0xc30
       do_mpage_readpage+0x870/0x19a0
       mpage_read_folio+0x14a/0x220
       filemap_read_folio+0x117/0x380
       filemap_get_pages+0xd4e/0x1ea0
       filemap_read+0x3f6/0x11a0
       __kernel_read+0x4cf/0x960
       integrity_kernel_read+0x89/0xd0
       ima_calc_file_hash+0x85e/0x16f0
       ima_collect_measurement+0x428/0x8e0
       process_measurement+0x1121/0x1a40
       ima_file_check+0xd7/0x120
       security_file_post_open+0xbb/0x290
       path_openat+0x2f26/0x3830
       do_filp_open+0x1fa/0x410
       do_sys_openat2+0x121/0x1c0
       __x64_sys_openat+0x138/0x170
       do_syscall_64+0xfa/0x3b0
       entry_SYSCALL_64_after_hwframe+0x77/0x7f

-> #0 (mapping.invalidate_lock#12){.+.+}-{4:4}:
       validate_chain+0xb9b/0x2140
       __lock_acquire+0xab9/0xd20
       lock_acquire+0x120/0x360
       down_read+0x46/0x2e0
       filemap_fault+0x548/0x1200
       __do_fault+0x138/0x390
       __handle_mm_fault+0x3611/0x5440
       handle_mm_fault+0x40a/0x8e0
       do_user_addr_fault+0xa81/0x1390
       exc_page_fault+0x76/0xf0
       asm_exc_page_fault+0x26/0x30

other info that might help us debug this:

Chain exists of:
  mapping.invalidate_lock#12 --> &mm->mmap_lock --> vm_lock

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  rlock(vm_lock);
                               lock(&mm->mmap_lock);
                               lock(vm_lock);
  rlock(mapping.invalidate_lock#12);

 *** DEADLOCK ***

1 lock held by syz.7.1225/13984:
 #0: ffff888126abe688 (vm_lock){++++}-{0:0}, at: lock_vma_under_rcu+0x19f/0x3d0

stack backtrace:
CPU: 1 UID: 0 PID: 13984 Comm: syz.7.1225 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
Call Trace:
 <TASK>
 dump_stack_lvl+0x189/0x250
 print_circular_bug+0x2ee/0x310
 check_noncircular+0x134/0x160
 validate_chain+0xb9b/0x2140
 __lock_acquire+0xab9/0xd20
 lock_acquire+0x120/0x360
 down_read+0x46/0x2e0
 filemap_fault+0x548/0x1200
 __do_fault+0x138/0x390
 __handle_mm_fault+0x3611/0x5440
 handle_mm_fault+0x40a/0x8e0
 do_user_addr_fault+0xa81/0x1390
 exc_page_fault+0x76/0xf0
 asm_exc_page_fault+0x26/0x30
RIP: 0033:0x7f7fd8e509e1
Code: 39 c6 7e 57 4c 8b 5f 20 48 8b 57 28 eb 06 0f 1f 00 4c 89 c2 49 39 d3 74 47 4c 8b 57 18 4c 8d 42 01 89 c1 83 c0 08 4c 89 47 28 <41> 0f b6 14 12 89 47 34 48 d3 e2 49 09 d1 39 f0 7c d5 44 89 ca 29
RSP: 002b:00007f7fd9e1f4e8 EFLAGS: 00010202
RAX: 0000000000000008 RBX: 00007f7fd9e1fe28 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 00007f7fd9e1f5e0
RBP: 00007f7fd9e1f5e0 R08: 0000000000000001 R09: 0000000000000000
R10: 0000200000001302 R11: 0000000000000543 R12: 000000000000000c
R13: 00007f7fd9e1fef0 R14: 00007f7fd9e1feb0 R15: 00007f7fcec00000
 </TASK>
