[ INFO: possible circular locking dependency detected ] 4.9.141+ #1 Not tainted ------------------------------------------------------- syz-executor.5/15970 is trying to acquire lock: (&sig->cred_guard_mutex){+.+.+.}, at: [] do_io_accounting+0x1fb/0x7e0 fs/proc/base.c:2690 but task is already holding lock: (&p->lock){+.+.+.}, at: [] seq_read+0xdd/0x12d0 fs/seq_file.c:178 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (&p->lock){+.+.+.}: lock_acquire+0x130/0x3e0 kernel/locking/lockdep.c:3756 __mutex_lock_common kernel/locking/mutex.c:521 [inline] mutex_lock_nested+0xc0/0x900 kernel/locking/mutex.c:621 seq_read+0xdd/0x12d0 fs/seq_file.c:178 proc_reg_read+0xfd/0x180 fs/proc/inode.c:203 do_loop_readv_writev.part.1+0xd5/0x280 fs/read_write.c:718 do_loop_readv_writev fs/read_write.c:707 [inline] do_readv_writev+0x56e/0x7b0 fs/read_write.c:873 vfs_readv+0x84/0xc0 fs/read_write.c:897 kernel_readv fs/splice.c:363 [inline] default_file_splice_read+0x451/0x7f0 fs/splice.c:435 do_splice_to+0x10c/0x170 fs/splice.c:899 do_splice fs/splice.c:1192 [inline] SYSC_splice fs/splice.c:1416 [inline] SyS_splice+0x10d2/0x14d0 fs/splice.c:1399 do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 entry_SYSCALL_64_after_swapgs+0x5d/0xdb -> #1 (&pipe->mutex/1){+.+.+.}: lock_acquire+0x130/0x3e0 kernel/locking/lockdep.c:3756 __mutex_lock_common kernel/locking/mutex.c:521 [inline] mutex_lock_nested+0xc0/0x900 kernel/locking/mutex.c:621 __pipe_lock fs/pipe.c:87 [inline] fifo_open+0x15c/0x9e0 fs/pipe.c:921 do_dentry_open+0x3ef/0xc90 fs/open.c:766 vfs_open+0x11c/0x210 fs/open.c:879 do_last fs/namei.c:3410 [inline] path_openat+0x542/0x2790 fs/namei.c:3534 do_filp_open+0x197/0x270 fs/namei.c:3568 do_open_execat+0x10f/0x640 fs/exec.c:844 do_execveat_common.isra.14+0x687/0x1ed0 fs/exec.c:1723 do_execve fs/exec.c:1829 [inline] SYSC_execve fs/exec.c:1910 [inline] SyS_execve+0x42/0x50 fs/exec.c:1905 do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 entry_SYSCALL_64_after_swapgs+0x5d/0xdb -> #0 (&sig->cred_guard_mutex){+.+.+.}: check_prev_add kernel/locking/lockdep.c:1828 [inline] check_prevs_add kernel/locking/lockdep.c:1938 [inline] validate_chain kernel/locking/lockdep.c:2265 [inline] __lock_acquire+0x3189/0x4a10 kernel/locking/lockdep.c:3345 lock_acquire+0x130/0x3e0 kernel/locking/lockdep.c:3756 __mutex_lock_common kernel/locking/mutex.c:521 [inline] mutex_lock_killable_nested+0xcc/0x9f0 kernel/locking/mutex.c:641 do_io_accounting+0x1fb/0x7e0 fs/proc/base.c:2690 proc_tgid_io_accounting+0x22/0x30 fs/proc/base.c:2739 proc_single_show+0xfd/0x170 fs/proc/base.c:785 seq_read+0x4b6/0x12d0 fs/seq_file.c:240 do_loop_readv_writev.part.1+0xd5/0x280 fs/read_write.c:718 do_loop_readv_writev fs/read_write.c:707 [inline] do_readv_writev+0x56e/0x7b0 fs/read_write.c:873 vfs_readv+0x84/0xc0 fs/read_write.c:897 kernel_readv fs/splice.c:363 [inline] default_file_splice_read+0x451/0x7f0 fs/splice.c:435 do_splice_to+0x10c/0x170 fs/splice.c:899 splice_direct_to_actor+0x23f/0x7e0 fs/splice.c:971 do_splice_direct+0x1a3/0x270 fs/splice.c:1080 do_sendfile+0x4f0/0xc30 fs/read_write.c:1393 SYSC_sendfile64 fs/read_write.c:1454 [inline] SyS_sendfile64+0x144/0x160 fs/read_write.c:1440 do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 entry_SYSCALL_64_after_swapgs+0x5d/0xdb other info that might help us debug this: Chain exists of: &sig->cred_guard_mutex --> &pipe->mutex/1 --> &p->lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&p->lock); lock(&pipe->mutex/1); lock(&p->lock); lock(&sig->cred_guard_mutex); *** DEADLOCK *** 2 locks held by syz-executor.5/15970: #0: (sb_writers#7){.+.+.+}, at: [] file_start_write include/linux/fs.h:2640 [inline] #0: (sb_writers#7){.+.+.+}, at: [] do_sendfile+0xa80/0xc30 fs/read_write.c:1392 #1: (&p->lock){+.+.+.}, at: [] seq_read+0xdd/0x12d0 fs/seq_file.c:178 stack backtrace: CPU: 1 PID: 15970 Comm: syz-executor.5 Not tainted 4.9.141+ #1 ffff8801984aeef8 ffffffff81b42e79 ffffffff83caa0e0 ffffffff83ca5190 ffffffff83ca2fd0 ffff8801c97888f8 ffff8801c9788000 ffff8801984aef40 ffffffff813fee40 0000000000000002 00000000c97888d8 0000000000000002 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x128 lib/dump_stack.c:51 [] print_circular_bug.cold.36+0x2f7/0x432 kernel/locking/lockdep.c:1202 [] check_prev_add kernel/locking/lockdep.c:1828 [inline] [] check_prevs_add kernel/locking/lockdep.c:1938 [inline] [] validate_chain kernel/locking/lockdep.c:2265 [inline] [] __lock_acquire+0x3189/0x4a10 kernel/locking/lockdep.c:3345 [] lock_acquire+0x130/0x3e0 kernel/locking/lockdep.c:3756 [] __mutex_lock_common kernel/locking/mutex.c:521 [inline] [] mutex_lock_killable_nested+0xcc/0x9f0 kernel/locking/mutex.c:641 [] do_io_accounting+0x1fb/0x7e0 fs/proc/base.c:2690 [] proc_tgid_io_accounting+0x22/0x30 fs/proc/base.c:2739 [] proc_single_show+0xfd/0x170 fs/proc/base.c:785 [] seq_read+0x4b6/0x12d0 fs/seq_file.c:240 [] do_loop_readv_writev.part.1+0xd5/0x280 fs/read_write.c:718 [] do_loop_readv_writev fs/read_write.c:707 [inline] [] do_readv_writev+0x56e/0x7b0 fs/read_write.c:873 [] vfs_readv+0x84/0xc0 fs/read_write.c:897 [] kernel_readv fs/splice.c:363 [inline] [] default_file_splice_read+0x451/0x7f0 fs/splice.c:435 [] do_splice_to+0x10c/0x170 fs/splice.c:899 [] splice_direct_to_actor+0x23f/0x7e0 fs/splice.c:971 [] do_splice_direct+0x1a3/0x270 fs/splice.c:1080 [] do_sendfile+0x4f0/0xc30 fs/read_write.c:1393 [] SYSC_sendfile64 fs/read_write.c:1454 [inline] [] SyS_sendfile64+0x144/0x160 fs/read_write.c:1440 [] do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 [] entry_SYSCALL_64_after_swapgs+0x5d/0xdb Swap cache stats: add 0, delete 0, find 0/0 Free swap = 0kB Total swap = 0kB 1965979 pages RAM 0 pages HighMem/MovableOnly 313617 pages reserved syz-executor.2: vmalloc: allocation failure: 0 bytes, mode:0x24000c2(GFP_KERNEL|__GFP_HIGHMEM) CPU: 1 PID: 15999 Comm: syz-executor.2 Not tainted 4.9.141+ #1 ffff8801a027f8a0 ffffffff81b42e79 1ffff1003404ff16 ffff8801a10c17c0 ffffffff82aa8c00 0000000000000001 0000000000400000 ffff8801a027f9e8 ffffffff814fc7c8 0000000041b58ab3 ffffffff82e37a10 ffffffff81427db0 Call Trace: [] __dump_stack lib/dump_stack.c:15 [inline] [] dump_stack+0xc1/0x128 lib/dump_stack.c:51 [] warn_alloc.cold.31+0x7f/0x9c mm/page_alloc.c:3068 [] __vmalloc_node_range+0x35e/0x600 mm/vmalloc.c:1723 [] __vmalloc_node mm/vmalloc.c:1745 [inline] [] __vmalloc_node_flags mm/vmalloc.c:1759 [inline] [] vmalloc+0x5b/0x70 mm/vmalloc.c:1774 [] sel_write_load+0x135/0xfa0 security/selinux/selinuxfs.c:514 [] __vfs_write+0x115/0x580 fs/read_write.c:507 [] vfs_write+0x187/0x520 fs/read_write.c:557 [] SYSC_write fs/read_write.c:604 [inline] [] SyS_write+0xd9/0x1c0 fs/read_write.c:596 [] do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 [] entry_SYSCALL_64_after_swapgs+0x5d/0xdb Mem-Info: active_anon:263814 inactive_anon:26378 isolated_anon:0 active_file:4898 inactive_file:38351 isolated_file:0 unevictable:0 dirty:50 writeback:0 unstable:0 slab_reclaimable:6876 slab_unreclaimable:69158 mapped:69242 shmem:32485 pagetables:5550 bounce:0 free:1168803 free_pcp:403 free_cma:0 Node 0 active_anon:1055224kB inactive_anon:105520kB active_file:19592kB inactive_file:153404kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:276968kB dirty:200kB writeback:0kB shmem:129940kB writeback_tmp:0kB unstable:0kB pages_scanned:0 all_unreclaimable? no DMA32 free:3019464kB min:4696kB low:7712kB high:10728kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3145324kB managed:3020132kB mlocked:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:668kB local_pcp:0kB free_cma:0kB lowmem_reserve[]: 0 3505 3505 Normal free:1655928kB min:5580kB low:9168kB high:12756kB active_anon:1055112kB inactive_anon:105520kB active_file:19592kB inactive_file:153404kB unevictable:0kB writepending:144kB present:4718592kB managed:3589316kB mlocked:0kB slab_reclaimable:27504kB slab_unreclaimable:276824kB kernel_stack:10624kB pagetables:22044kB bounce:0kB free_pcp:808kB local_pcp:228kB free_cma:0kB lowmem_reserve[]: 0 0 0 DMA32: 4*4kB (UM) 3*8kB (M) 2*16kB (M) 4*32kB (UM) 4*64kB (UM) 4*128kB (UM) 3*256kB (UM) 2*512kB (M) 2*1024kB (UM) 2*2048kB (UM) 735*4096kB (M) = 3019464kB Normal: 3055*4kB (UME) 2027*8kB (UME) 1141*16kB (UME) 501*32kB (UME) 214*64kB (UME) 53*128kB (ME) 13*256kB (UM) 48*512kB (UME) 13*1024kB (UME) 4*2048kB (UM) 372*4096kB (M) = 1656324kB 0 pages in swap cache Swap cache stats: add 0, delete 0, find 0/0 Free swap = 0kB Total swap = 0kB 1965979 pages RAM 0 pages HighMem/MovableOnly 313617 pages reserved device lo entered promiscuous mode device lo entered promiscuous mode tc_dump_action: action bad kind tc_dump_action: action bad kind netlink: 44 bytes leftover after parsing attributes in process `syz-executor.5'. binder: 16238:16240 ioctl c0306201 0 returned -14 selinux_nlmsg_perm: 2923 callbacks suppressed SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16228 comm=syz-executor.5 netlink: 44 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 64 bytes leftover after parsing attributes in process `syz-executor.4'. netlink: 64 bytes leftover after parsing attributes in process `syz-executor.4'. ip6_tunnel: ip6tnl2 xmit: Local address not yet configured! selinux_nlmsg_perm: 1177 callbacks suppressed SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=16519 comm=syz-executor.3