====================================================== WARNING: possible circular locking dependency detected 4.19.211-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.5/22323 is trying to acquire lock: 00000000304207bc (sb_writers#3){.+.+}, at: sb_start_write include/linux/fs.h:1579 [inline] 00000000304207bc (sb_writers#3){.+.+}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:360 but task is already holding lock: 00000000d469ba6a (&iint->mutex){+.+.}, at: process_measurement+0x316/0x1440 security/integrity/ima/ima_main.c:224 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&iint->mutex){+.+.}: process_measurement+0x316/0x1440 security/integrity/ima/ima_main.c:224 ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391 do_last fs/namei.c:3425 [inline] path_openat+0x7e4/0x2df0 fs/namei.c:3537 do_filp_open+0x18c/0x3f0 fs/namei.c:3567 do_sys_open+0x3b3/0x520 fs/open.c:1085 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (sb_writers#3){.+.+}: percpu_down_read_preempt_disable include/linux/percpu-rwsem.h:36 [inline] percpu_down_read include/linux/percpu-rwsem.h:59 [inline] __sb_start_write+0x6e/0x2a0 fs/super.c:1366 sb_start_write include/linux/fs.h:1579 [inline] mnt_want_write+0x3a/0xb0 fs/namespace.c:360 ovl_maybe_copy_up+0x11f/0x190 fs/overlayfs/copy_up.c:888 ovl_open+0xb4/0x260 fs/overlayfs/file.c:126 do_dentry_open+0x4aa/0x1160 fs/open.c:796 vfs_open fs/open.c:902 [inline] dentry_open+0x132/0x1d0 fs/open.c:918 ima_calc_file_hash+0x628/0x8a0 security/integrity/ima/ima_crypto.c:435 ima_collect_measurement+0x4c4/0x570 security/integrity/ima/ima_api.c:231 process_measurement+0xddd/0x1440 security/integrity/ima/ima_main.c:284 ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391 do_last fs/namei.c:3425 [inline] path_openat+0x7e4/0x2df0 fs/namei.c:3537 do_filp_open+0x18c/0x3f0 fs/namei.c:3567 do_sys_open+0x3b3/0x520 fs/open.c:1085 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&iint->mutex); lock(sb_writers#3); lock(&iint->mutex); lock(sb_writers#3); *** DEADLOCK *** 1 lock held by syz-executor.5/22323: #0: 00000000d469ba6a (&iint->mutex){+.+.}, at: process_measurement+0x316/0x1440 security/integrity/ima/ima_main.c:224 stack backtrace: CPU: 1 PID: 22323 Comm: syz-executor.5 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 print_circular_bug.constprop.0.cold+0x2d7/0x41e kernel/locking/lockdep.c:1222 check_prev_add kernel/locking/lockdep.c:1866 [inline] check_prevs_add kernel/locking/lockdep.c:1979 [inline] validate_chain kernel/locking/lockdep.c:2420 [inline] __lock_acquire+0x30c9/0x3ff0 kernel/locking/lockdep.c:3416 lock_acquire+0x170/0x3c0 kernel/locking/lockdep.c:3908 percpu_down_read_preempt_disable include/linux/percpu-rwsem.h:36 [inline] percpu_down_read include/linux/percpu-rwsem.h:59 [inline] __sb_start_write+0x6e/0x2a0 fs/super.c:1366 sb_start_write include/linux/fs.h:1579 [inline] mnt_want_write+0x3a/0xb0 fs/namespace.c:360 ovl_maybe_copy_up+0x11f/0x190 fs/overlayfs/copy_up.c:888 ovl_open+0xb4/0x260 fs/overlayfs/file.c:126 do_dentry_open+0x4aa/0x1160 fs/open.c:796 vfs_open fs/open.c:902 [inline] dentry_open+0x132/0x1d0 fs/open.c:918 ima_calc_file_hash+0x628/0x8a0 security/integrity/ima/ima_crypto.c:435 ima_collect_measurement+0x4c4/0x570 security/integrity/ima/ima_api.c:231 process_measurement+0xddd/0x1440 security/integrity/ima/ima_main.c:284 ima_file_check+0xb9/0x100 security/integrity/ima/ima_main.c:391 do_last fs/namei.c:3425 [inline] path_openat+0x7e4/0x2df0 fs/namei.c:3537 do_filp_open+0x18c/0x3f0 fs/namei.c:3567 do_sys_open+0x3b3/0x520 fs/open.c:1085 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f4cfe55d0f9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f4cfcacf168 EFLAGS: 00000246 ORIG_RAX: 0000000000000002 RAX: ffffffffffffffda RBX: 00007f4cfe67cf80 RCX: 00007f4cfe55d0f9 RDX: 0000000000000000 RSI: 0000000000000003 RDI: 0000000020000140 RBP: 00007f4cfe5b8ae9 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe14cfbeaf R14: 00007f4cfcacf300 R15: 0000000000022000 audit: type=1800 audit(1676721570.528:172): pid=22323 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed comm="syz-executor.5" name="file0" dev="overlay" ino=14849 res=0 FAULT_INJECTION: forcing a failure. name fail_page_alloc, interval 1, probability 0, space 0, times 0 CPU: 0 PID: 22355 Comm: syz-executor.3 Not tainted 4.19.211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/21/2023 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fc/0x2ef lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold+0xa/0xf lib/fault-inject.c:149 should_fail_alloc_page mm/page_alloc.c:3088 [inline] prepare_alloc_pages mm/page_alloc.c:4346 [inline] __alloc_pages_nodemask+0x239/0x2890 mm/page_alloc.c:4393 __alloc_pages include/linux/gfp.h:496 [inline] __alloc_pages_node include/linux/gfp.h:509 [inline] kmem_getpages mm/slab.c:1412 [inline] cache_grow_begin+0xa4/0x8a0 mm/slab.c:2682 cache_alloc_refill+0x273/0x340 mm/slab.c:3049 ____cache_alloc mm/slab.c:3132 [inline] __do_cache_alloc mm/slab.c:3354 [inline] slab_alloc mm/slab.c:3389 [inline] kmem_cache_alloc+0x346/0x370 mm/slab.c:3557 getname_flags+0xce/0x590 fs/namei.c:140 user_path_at_empty+0x2a/0x50 fs/namei.c:2609 user_path include/linux/namei.h:62 [inline] do_mount+0x147/0x2f50 fs/namespace.c:2762 ksys_mount+0xcf/0x130 fs/namespace.c:3038 __do_sys_mount fs/namespace.c:3052 [inline] __se_sys_mount fs/namespace.c:3049 [inline] __x64_sys_mount+0xba/0x150 fs/namespace.c:3049 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x7f286fe8562a Code: 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f286e3f5f88 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f286fe8562a RDX: 00000000200000c0 RSI: 0000000020000100 RDI: 0000000000000000 RBP: 00007f286e3f6020 R08: 00007f286e3f6020 R09: 0000000001a484bc R10: 0000000001a484bc R11: 0000000000000202 R12: 00000000200000c0 R13: 0000000020000100 R14: 00007f286e3f5fe0 R15: 0000000020000ec0 audit: type=1804 audit(1676721570.918:173): pid=22366 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/51/file0" dev="sda1" ino=14137 res=1 audit: type=1804 audit(1676721572.709:174): pid=22508 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/57/file0" dev="sda1" ino=14080 res=1 audit: type=1804 audit(1676721573.189:175): pid=22542 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/58/file0" dev="sda1" ino=14593 res=1 overlayfs: failed to create directory ./file1/work (errno: 28); mounting read-only overlayfs: failed to create directory ./file1/index (errno: 28); mounting read-only overlayfs: try deleting index dir or mounting with '-o index=off' to disable inodes index. audit: type=1804 audit(1676721576.129:176): pid=22976 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/64/file0" dev="sda1" ino=14064 res=1 audit: type=1804 audit(1676721576.579:177): pid=23024 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/65/file0" dev="sda1" ino=14157 res=1 overlayfs: failed to create directory ./file1/index (errno: 28); mounting read-only overlayfs: try deleting index dir or mounting with '-o index=off' to disable inodes index. audit: type=1804 audit(1676721577.199:178): pid=23089 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/67/file0" dev="sda1" ino=14594 res=1 audit: type=1804 audit(1676721577.339:179): pid=23107 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/68/file0" dev="sda1" ino=14451 res=1 overlayfs: failed to create directory ./file1/work (errno: 28); mounting read-only audit: type=1804 audit(1676721577.839:180): pid=23149 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/69/file0" dev="sda1" ino=14594 res=1 audit: type=1804 audit(1676721577.979:181): pid=23180 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/70/file0" dev="sda1" ino=13875 res=1 audit: type=1800 audit(1676721577.979:182): pid=23180 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=13875 res=0 audit: type=1804 audit(1676721578.479:183): pid=23210 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/71/file0" dev="sda1" ino=14643 res=1 audit: type=1800 audit(1676721578.479:184): pid=23210 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=14643 res=0 audit: type=1800 audit(1676721578.699:185): pid=23250 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="overlay" ino=14659 res=0 audit: type=1804 audit(1676721579.229:186): pid=23279 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/73/file0" dev="sda1" ino=14407 res=1 audit: type=1800 audit(1676721579.259:187): pid=23279 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="sda1" ino=14407 res=0 overlayfs: failed to create directory ./file1/work (errno: 28); mounting read-only audit: type=1800 audit(1676721579.429:188): pid=23298 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="file0" dev="overlay" ino=14346 res=0 audit: type=1804 audit(1676721579.839:189): pid=23349 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir2797401233/syzkaller.dDyMcT/75/file0" dev="sda1" ino=14376 res=1