====================================================== WARNING: possible circular locking dependency detected syzkaller #0 Not tainted ------------------------------------------------------ syz.3.2009/10138 is trying to acquire lock: ffff888057eb42d0 (&iint_mutex_key[depth]){+.+.}-{3:3}, at: process_measurement+0x717/0x1c40 security/integrity/ima/ima_main.c:261 but task is already holding lock: ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:87 [inline] ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: __do_sys_remap_file_pages mm/mmap.c:2993 [inline] ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: __se_sys_remap_file_pages+0x1aa/0x7b0 mm/mmap.c:2968 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&mm->mmap_lock){++++}-{3:3}: __might_fault+0xc2/0x120 mm/memory.c:5850 _copy_to_iter+0xf8/0x1050 lib/iov_iter.c:526 copy_to_iter include/linux/uio.h:179 [inline] seq_read_iter+0xa8a/0xc50 fs/seq_file.c:281 proc_reg_read_iter+0x1a9/0x270 fs/proc/inode.c:305 call_read_iter include/linux/fs.h:2265 [inline] new_sync_read fs/read_write.c:389 [inline] vfs_read+0x471/0x960 fs/read_write.c:470 ksys_read+0x14d/0x260 fs/read_write.c:613 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x68/0xd2 -> #1 (&p->lock){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:603 [inline] __mutex_lock+0x12d/0xae0 kernel/locking/mutex.c:747 seq_read_iter+0x9d/0xc50 fs/seq_file.c:182 __kernel_read+0x2dd/0x6e0 fs/read_write.c:428 integrity_kernel_read+0x86/0xd0 security/integrity/iint.c:228 ima_calc_file_hash_tfm security/integrity/ima/ima_crypto.c:485 [inline] ima_calc_file_shash security/integrity/ima/ima_crypto.c:516 [inline] ima_calc_file_hash+0xb12/0x1950 security/integrity/ima/ima_crypto.c:573 ima_collect_measurement+0x503/0xb50 security/integrity/ima/ima_api.c:293 process_measurement+0x119b/0x1c40 security/integrity/ima/ima_main.c:351 ima_file_check+0xc8/0x110 security/integrity/ima/ima_main.c:534 do_open fs/namei.c:3679 [inline] path_openat+0x272b/0x2f10 fs/namei.c:3834 do_filp_open+0x1ee/0x420 fs/namei.c:3861 do_sys_openat2+0x14b/0x4f0 fs/open.c:1320 do_sys_open fs/open.c:1336 [inline] __do_sys_openat fs/open.c:1352 [inline] __se_sys_openat fs/open.c:1347 [inline] __x64_sys_openat+0x135/0x160 fs/open.c:1347 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x68/0xd2 -> #0 (&iint_mutex_key[depth]){+.+.}-{3:3}: check_prev_add kernel/locking/lockdep.c:3162 [inline] check_prevs_add kernel/locking/lockdep.c:3281 [inline] validate_chain kernel/locking/lockdep.c:3897 [inline] __lock_acquire+0x3a03/0x7ea0 kernel/locking/lockdep.c:5171 lock_acquire+0x1bc/0x4a0 kernel/locking/lockdep.c:5790 __mutex_lock_common kernel/locking/mutex.c:603 [inline] __mutex_lock+0x12d/0xae0 kernel/locking/mutex.c:747 process_measurement+0x717/0x1c40 security/integrity/ima/ima_main.c:261 ima_file_mmap+0xe9/0x140 security/integrity/ima/ima_main.c:429 __do_sys_remap_file_pages mm/mmap.c:3036 [inline] __se_sys_remap_file_pages+0x55a/0x7b0 mm/mmap.c:2968 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x68/0xd2 other info that might help us debug this: Chain exists of: &iint_mutex_key[depth] --> &p->lock --> &mm->mmap_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&mm->mmap_lock); lock(&p->lock); lock(&mm->mmap_lock); lock(&iint_mutex_key[depth]); *** DEADLOCK *** 1 lock held by syz.3.2009/10138: #0: ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:87 [inline] #0: ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: __do_sys_remap_file_pages mm/mmap.c:2993 [inline] #0: ffff88807d0e3d58 (&mm->mmap_lock){++++}-{3:3}, at: __se_sys_remap_file_pages+0x1aa/0x7b0 mm/mmap.c:2968 stack backtrace: CPU: 0 PID: 10138 Comm: syz.3.2009 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/07/2026 Call Trace: dump_stack_lvl+0x188/0x24e lib/dump_stack.c:106 check_noncircular+0x2f8/0x400 kernel/locking/lockdep.c:2215 check_prev_add kernel/locking/lockdep.c:3162 [inline] check_prevs_add kernel/locking/lockdep.c:3281 [inline] validate_chain kernel/locking/lockdep.c:3897 [inline] __lock_acquire+0x3a03/0x7ea0 kernel/locking/lockdep.c:5171 lock_acquire+0x1bc/0x4a0 kernel/locking/lockdep.c:5790 __mutex_lock_common kernel/locking/mutex.c:603 [inline] __mutex_lock+0x12d/0xae0 kernel/locking/mutex.c:747 process_measurement+0x717/0x1c40 security/integrity/ima/ima_main.c:261 ima_file_mmap+0xe9/0x140 security/integrity/ima/ima_main.c:429 __do_sys_remap_file_pages mm/mmap.c:3036 [inline] __se_sys_remap_file_pages+0x55a/0x7b0 mm/mmap.c:2968 do_syscall_x64 arch/x86/entry/common.c:46 [inline] do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76 entry_SYSCALL_64_after_hwframe+0x68/0xd2 RIP: 0033:0x7f3317b9f559 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 RSP: 002b:00007f3318a18028 EFLAGS: 00000246 ORIG_RAX: 00000000000000d8 RAX: ffffffffffffffda RBX: 00007f3317e26090 RCX: 00007f3317b9f559 RDX: 0000000000000000 RSI: 0000000000200000 RDI: 00002000002ec000 RBP: 00007f3317c36b20 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000040 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f3317e26128 R14: 00007f3317e26090 R15: 00007ffe1cfb3718