====================================================== WARNING: possible circular locking dependency detected 4.19.109-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.2/12347 is trying to acquire lock: 0000000072d1aa4f (&sig->cred_guard_mutex){+.+.}, at: lock_trace+0x45/0xe0 fs/proc/base.c:402 but task is already holding lock: 00000000bf3f7cb5 (&p->lock){+.+.}, at: seq_read+0x6b/0x10f0 fs/seq_file.c:161 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&p->lock){+.+.}: seq_read+0x6b/0x10f0 fs/seq_file.c:161 do_loop_readv_writev fs/read_write.c:701 [inline] do_loop_readv_writev fs/read_write.c:688 [inline] do_iter_read+0x46b/0x640 fs/read_write.c:925 vfs_readv+0xf0/0x160 fs/read_write.c:987 kernel_readv fs/splice.c:362 [inline] default_file_splice_read+0x478/0x970 fs/splice.c:417 do_splice_to+0x10e/0x160 fs/splice.c:881 splice_direct_to_actor+0x2b9/0x8d0 fs/splice.c:959 do_splice_direct+0x1a8/0x270 fs/splice.c:1068 do_sendfile+0x549/0xc10 fs/read_write.c:1447 __do_sys_sendfile64 fs/read_write.c:1508 [inline] __se_sys_sendfile64 fs/read_write.c:1494 [inline] __x64_sys_sendfile64+0x1cc/0x210 fs/read_write.c:1494 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #2 (sb_writers#4){.+.+}: sb_start_write include/linux/fs.h:1578 [inline] mnt_want_write+0x3a/0xb0 fs/namespace.c:360 ovl_create_object+0x96/0x290 fs/overlayfs/dir.c:600 lookup_open+0x11f6/0x19b0 fs/namei.c:3235 do_last fs/namei.c:3327 [inline] path_openat+0x13cb/0x4200 fs/namei.c:3537 do_filp_open+0x1a1/0x280 fs/namei.c:3567 do_sys_open+0x3c0/0x500 fs/open.c:1088 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #1 (&ovl_i_mutex_dir_key[depth]#2){++++}: inode_lock_shared include/linux/fs.h:757 [inline] do_last fs/namei.c:3326 [inline] path_openat+0x1d18/0x4200 fs/namei.c:3537 do_filp_open+0x1a1/0x280 fs/namei.c:3567 do_open_execat+0x124/0x5b0 fs/exec.c:853 __do_execve_file.isra.0+0x1577/0x2110 fs/exec.c:1755 do_execveat_common fs/exec.c:1866 [inline] do_execve fs/exec.c:1883 [inline] __do_sys_execve fs/exec.c:1964 [inline] __se_sys_execve fs/exec.c:1959 [inline] __x64_sys_execve+0x8a/0xb0 fs/exec.c:1959 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe -> #0 (&sig->cred_guard_mutex){+.+.}: __mutex_lock_common kernel/locking/mutex.c:925 [inline] __mutex_lock+0xf7/0x1300 kernel/locking/mutex.c:1072 lock_trace+0x45/0xe0 fs/proc/base.c:402 proc_pid_syscall+0x94/0x240 fs/proc/base.c:635 proc_single_show+0xeb/0x170 fs/proc/base.c:755 seq_read+0x4b9/0x10f0 fs/seq_file.c:229 do_loop_readv_writev fs/read_write.c:701 [inline] do_loop_readv_writev fs/read_write.c:688 [inline] do_iter_read+0x46b/0x640 fs/read_write.c:925 vfs_readv+0xf0/0x160 fs/read_write.c:987 do_preadv+0x1b6/0x270 fs/read_write.c:1071 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: Chain exists of: &sig->cred_guard_mutex --> sb_writers#4 --> &p->lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&p->lock); lock(sb_writers#4); lock(&p->lock); lock(&sig->cred_guard_mutex); *** DEADLOCK *** 1 lock held by syz-executor.2/12347: #0: 00000000bf3f7cb5 (&p->lock){+.+.}, at: seq_read+0x6b/0x10f0 fs/seq_file.c:161 stack backtrace: CPU: 1 PID: 12347 Comm: syz-executor.2 Not tainted 4.19.109-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x188/0x20d lib/dump_stack.c:118 print_circular_bug.isra.0.cold+0x1c4/0x282 kernel/locking/lockdep.c:1221 check_prev_add kernel/locking/lockdep.c:1861 [inline] check_prevs_add kernel/locking/lockdep.c:1974 [inline] validate_chain kernel/locking/lockdep.c:2415 [inline] __lock_acquire+0x2e19/0x49c0 kernel/locking/lockdep.c:3411 lock_acquire+0x170/0x400 kernel/locking/lockdep.c:3903 __mutex_lock_common kernel/locking/mutex.c:925 [inline] __mutex_lock+0xf7/0x1300 kernel/locking/mutex.c:1072 lock_trace+0x45/0xe0 fs/proc/base.c:402 proc_pid_syscall+0x94/0x240 fs/proc/base.c:635 proc_single_show+0xeb/0x170 fs/proc/base.c:755 seq_read+0x4b9/0x10f0 fs/seq_file.c:229 do_loop_readv_writev fs/read_write.c:701 [inline] do_loop_readv_writev fs/read_write.c:688 [inline] do_iter_read+0x46b/0x640 fs/read_write.c:925 vfs_readv+0xf0/0x160 fs/read_write.c:987 do_preadv+0x1b6/0x270 fs/read_write.c:1071 do_syscall_64+0xf9/0x620 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x45c849 Code: ad b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 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 0f 83 7b b6 fb ff c3 66 2e 0f 1f 84 00 00 00 00 RSP: 002b:00007f3a7a9f1c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000127 RAX: ffffffffffffffda RBX: 00007f3a7a9f26d4 RCX: 000000000045c849 RDX: 0000000000000001 RSI: 00000000200003c0 RDI: 0000000000000003 RBP: 000000000076bf00 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 0000000000000857 R14: 00000000004cb187 R15: 000000000076bf0c device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode (unnamed net_device) (uninitialized): option arp_all_targets: invalid value (18446744073709551615) device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode device vxlan0 entered promiscuous mode