IPv6: ADDRCONF(NETDEV_CHANGE): vti0: link becomes ready ====================================================== [ INFO: possible circular locking dependency detected ] 4.9.141+ #1 Not tainted ------------------------------------------------------- syz-executor.0/23378 is trying to acquire lock: (&sb->s_type->i_mutex_key){++++++}, at: [] inode_lock_shared include/linux/fs.h:776 [inline] (&sb->s_type->i_mutex_key){++++++}, at: [] do_last fs/namei.c:3314 [inline] (&sb->s_type->i_mutex_key){++++++}, at: [] path_openat+0x1309/0x2790 fs/namei.c:3534 but task is already holding lock: (&sig->cred_guard_mutex){+.+.+.}, at: [] prepare_bprm_creds+0x53/0x110 fs/exec.c:1369 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&sig->cred_guard_mutex){+.+.+.}: 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 mm_access+0x51/0x140 kernel/fork.c:1028 map_files_d_revalidate+0xf6/0x6e0 fs/proc/base.c:1933 d_revalidate fs/namei.c:789 [inline] lookup_slow+0x361/0x470 fs/namei.c:1656 walk_component+0x822/0xcf0 fs/namei.c:1784 lookup_last fs/namei.c:2266 [inline] path_lookupat.isra.10+0x186/0x410 fs/namei.c:2283 filename_lookup.part.18+0x177/0x370 fs/namei.c:2317 filename_lookup fs/namei.c:2310 [inline] user_path_at_empty+0x53/0x70 fs/namei.c:2578 user_path_at include/linux/namei.h:55 [inline] SYSC_quotactl fs/quota/quota.c:862 [inline] SyS_quotactl+0x7c4/0x1250 fs/quota/quota.c:834 do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 entry_SYSCALL_64_after_swapgs+0x5d/0xdb -> #0 (&sb->s_type->i_mutex_key){++++++}: 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 down_read+0x44/0xb0 kernel/locking/rwsem.c:22 inode_lock_shared include/linux/fs.h:776 [inline] do_last fs/namei.c:3314 [inline] path_openat+0x1309/0x2790 fs/namei.c:3534 do_filp_open+0x197/0x270 fs/namei.c:3568 do_open_execat+0x10f/0x640 fs/exec.c:844 open_exec+0x43/0x60 fs/exec.c:876 load_script+0x5a4/0x740 fs/binfmt_script.c:100 search_binary_handler+0x14f/0x6f0 fs/exec.c:1621 exec_binprm fs/exec.c:1663 [inline] do_execveat_common.isra.14+0x1139/0x1ed0 fs/exec.c:1785 do_execveat fs/exec.c:1840 [inline] SYSC_execveat fs/exec.c:1921 [inline] SyS_execveat+0x55/0x70 fs/exec.c:1913 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: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&sig->cred_guard_mutex); lock(&sb->s_type->i_mutex_key); lock(&sig->cred_guard_mutex); lock(&sb->s_type->i_mutex_key); *** DEADLOCK *** 1 lock held by syz-executor.0/23378: #0: (&sig->cred_guard_mutex){+.+.+.}, at: [] prepare_bprm_creds+0x53/0x110 fs/exec.c:1369 stack backtrace: CPU: 0 PID: 23378 Comm: syz-executor.0 Not tainted 4.9.141+ #1 ffff8801c51b74d8 ffffffff81b42e79 ffffffff83c73360 ffffffff83ca2c70 ffffffff83c73360 ffff8801a5c1a090 ffff8801a5c197c0 ffff8801c51b7520 ffffffff813fee40 0000000000000001 00000000a5c1a070 0000000000000001 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 [] down_read+0x44/0xb0 kernel/locking/rwsem.c:22 [] inode_lock_shared include/linux/fs.h:776 [inline] [] do_last fs/namei.c:3314 [inline] [] path_openat+0x1309/0x2790 fs/namei.c:3534 [] do_filp_open+0x197/0x270 fs/namei.c:3568 [] do_open_execat+0x10f/0x640 fs/exec.c:844 [] open_exec+0x43/0x60 fs/exec.c:876 [] load_script+0x5a4/0x740 fs/binfmt_script.c:100 [] search_binary_handler+0x14f/0x6f0 fs/exec.c:1621 [] exec_binprm fs/exec.c:1663 [inline] [] do_execveat_common.isra.14+0x1139/0x1ed0 fs/exec.c:1785 [] do_execveat fs/exec.c:1840 [inline] [] SYSC_execveat fs/exec.c:1921 [inline] [] SyS_execveat+0x55/0x70 fs/exec.c:1913 [] do_syscall_64+0x19f/0x550 arch/x86/entry/common.c:285 [] entry_SYSCALL_64_after_swapgs+0x5d/0xdb IPv6: ADDRCONF(NETDEV_CHANGE): vti0: link becomes ready ip6_tunnel: ! xmit: Local address not yet configured! ip6_tunnel: ip6tnl1 xmit: Local address not yet configured! IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready ip6_tunnel: ! xmit: Local address not yet configured! SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23454 comm=syz-executor.4 ip6_tunnel: ! xmit: Local address not yet configured! ip6_tunnel: ip6tnl1 xmit: Local address not yet configured! SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23486 comm=syz-executor.0 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23489 comm=syz-executor.0 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23492 comm=syz-executor.1 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23505 comm=syz-executor.4 ip6_tunnel: ! xmit: Local address not yet configured! SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23508 comm=syz-executor.1 ip6_tunnel: ip6tnl1 xmit: Local address not yet configured! audit: type=1400 audit(1574671374.343:240): avc: denied { bind } for pid=23580 comm="syz-executor.4" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_netfilter_socket permissive=1 netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23582 comm=syz-executor.4 Dead loop on virtual device ip6_vti0, fix it urgently! Dead loop on virtual device ip6_vti0, fix it urgently! Dead loop on virtual device ip6_vti0, fix it urgently! Dead loop on virtual device ip6_vti0, fix it urgently! Dead loop on virtual device ip6_vti0, fix it urgently! Dead loop on virtual device ip6_vti0, fix it urgently! netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead. SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23698 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23698 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23698 comm=syz-executor.5 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23698 comm=syz-executor.5 IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready qtaguid: iface_stat: create6(lo): no inet dev IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready qtaguid: iface_stat: create6(lo): no inet dev selinux_nlmsg_perm: 4106 callbacks suppressed SELinux: unrecognized netlink message: protocol=9 nlmsg_type=16 sclass=netlink_audit_socket pig=23839 comm=syz-executor.5 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. SELinux: unrecognized netlink message: protocol=9 nlmsg_type=16 sclass=netlink_audit_socket pig=23855 comm=syz-executor.5 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 input: syz1 as /devices/virtual/input/input83 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=23901 comm=syz-executor.3 input: syz1 as /devices/virtual/input/input84 netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 20 bytes leftover after parsing attributes in process `syz-executor.2'. input: syz1 as /devices/virtual/input/input85 netlink: 20 bytes leftover after parsing attributes in process `syz-executor.2'. qtaguid: iface_stat: create(lo): no inet dev qtaguid: iface_stat: create6(lo): no inet dev IPv6: ADDRCONF(NETDEV_CHANGE): lo: link becomes ready qtaguid: iface_stat: create6(lo): no inet dev