=============================== [ INFO: suspicious RCU usage. ] 4.9.205-syzkaller #0 Not tainted ------------------------------- include/linux/inetdevice.h:205 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 0 4 locks held by syz-executor.4/6249: #0: (rcu_read_lock_bh){......}, at: [<000000002c2568ec>] ip_finish_output2+0x20b/0x1280 net/ipv4/ip_output.c:198 #1: (rcu_read_lock_bh){......}, at: [<000000008f7dfc08>] __dev_queue_xmit+0x1d4/0x1bd0 net/core/dev.c:3407 #2: (_xmit_TUNNEL6#2){+.-...}, at: [<00000000f54d34d7>] spin_lock include/linux/spinlock.h:302 [inline] #2: (_xmit_TUNNEL6#2){+.-...}, at: [<00000000f54d34d7>] __netif_tx_lock include/linux/netdevice.h:3573 [inline] #2: (_xmit_TUNNEL6#2){+.-...}, at: [<00000000f54d34d7>] __dev_queue_xmit+0x1116/0x1bd0 net/core/dev.c:3469 #3: (slock-AF_INET){+.-...}, at: [<000000003cb60796>] spin_trylock include/linux/spinlock.h:312 [inline] #3: (slock-AF_INET){+.-...}, at: [<000000003cb60796>] icmp_xmit_lock net/ipv4/icmp.c:220 [inline] #3: (slock-AF_INET){+.-...}, at: [<000000003cb60796>] __icmp_send+0x48b/0x1420 net/ipv4/icmp.c:656 stack backtrace: CPU: 0 PID: 6249 Comm: syz-executor.4 Not tainted 4.9.205-syzkaller #0 netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. selinux_nlmsg_perm: 150 callbacks suppressed SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6256 comm=syz-executor.3 ffff8801aa3eedd8 ffffffff81b55e6b ffff8801d3a4e500 0000000000000000 0000000000000002 00000000000000cd ffff88019d2f97c0 ffff8801aa3eee08 ffffffff81406997 ffff8801d3a4e558 ffff8801aa3eef28 ffff8801c6889100 Call Trace: [<000000005416d5af>] __dump_stack lib/dump_stack.c:15 [inline] [<000000005416d5af>] dump_stack+0xcb/0x130 lib/dump_stack.c:56 [<0000000029340f99>] lockdep_rcu_suspicious.cold+0x10a/0x149 kernel/locking/lockdep.c:4458 [<00000000ef7718f1>] __in_dev_get_rcu include/linux/inetdevice.h:205 [inline] [<00000000ef7718f1>] fib_compute_spec_dst+0x6c4/0xcc0 net/ipv4/fib_frontend.c:284 [<0000000076dadbea>] __ip_options_echo+0x4be/0x13e0 net/ipv4/ip_options.c:177 [<000000000663c7ab>] __icmp_send+0x648/0x1420 net/ipv4/icmp.c:685 [<00000000a756b691>] ipv4_send_dest_unreach net/ipv4/route.c:1203 [inline] [<00000000a756b691>] ipv4_link_failure+0x460/0x850 net/ipv4/route.c:1210 [<00000000507bf4ed>] dst_link_failure include/net/dst.h:490 [inline] [<00000000507bf4ed>] vti6_xmit net/ipv6/ip6_vti.c:522 [inline] [<00000000507bf4ed>] vti6_tnl_xmit+0xb08/0x17f0 net/ipv6/ip6_vti.c:561 [<000000003d6ce9d9>] __netdev_start_xmit include/linux/netdevice.h:4072 [inline] [<000000003d6ce9d9>] netdev_start_xmit include/linux/netdevice.h:4081 [inline] [<000000003d6ce9d9>] xmit_one net/core/dev.c:2977 [inline] [<000000003d6ce9d9>] dev_hard_start_xmit+0x195/0x8b0 net/core/dev.c:2993 [<000000000fbd59cf>] __dev_queue_xmit+0x11a3/0x1bd0 net/core/dev.c:3473 [<000000000882d952>] dev_queue_xmit+0x18/0x20 net/core/dev.c:3506 [<0000000042f76b7e>] neigh_direct_output+0x16/0x20 net/core/neighbour.c:1368 [<000000005c65d1c7>] dst_neigh_output include/net/dst.h:470 [inline] [<000000005c65d1c7>] ip_finish_output2+0x6a2/0x1280 net/ipv4/ip_output.c:225 [<00000000d262cdad>] ip_finish_output+0x3c4/0xce0 net/ipv4/ip_output.c:313 [<00000000a217056a>] NF_HOOK_COND include/linux/netfilter.h:246 [inline] [<00000000a217056a>] ip_output+0x1ec/0x5b0 net/ipv4/ip_output.c:401 [<00000000cdaaed35>] dst_output include/net/dst.h:507 [inline] [<00000000cdaaed35>] NF_HOOK_THRESH include/linux/netfilter.h:232 [inline] [<00000000cdaaed35>] NF_HOOK include/linux/netfilter.h:255 [inline] [<00000000cdaaed35>] raw_send_hdrinc net/ipv4/raw.c:421 [inline] [<00000000cdaaed35>] raw_sendmsg+0x1c5c/0x23e0 net/ipv4/raw.c:643 [<00000000706b45f9>] inet_sendmsg+0x202/0x4d0 net/ipv4/af_inet.c:766 [<000000004433ca74>] sock_sendmsg_nosec net/socket.c:649 [inline] [<000000004433ca74>] sock_sendmsg+0xbe/0x110 net/socket.c:659 [<00000000e32d9360>] sock_write_iter+0x235/0x3d0 net/socket.c:857 [<0000000098070e89>] new_sync_write fs/read_write.c:498 [inline] [<0000000098070e89>] __vfs_write+0x3c1/0x560 fs/read_write.c:511 [<00000000976d74f2>] vfs_write+0x185/0x520 fs/read_write.c:559 [<00000000c9fc1097>] SYSC_write fs/read_write.c:607 [inline] [<00000000c9fc1097>] SyS_write+0x121/0x270 fs/read_write.c:599 [<00000000ce60594f>] do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 [<00000000fae3da52>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb input: syz0 as /devices/virtual/input/input18 input: syz0 as /devices/virtual/input/input19 netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. raw_sendmsg: syz-executor.0 forgot to set AF_INET. Fix it! netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. selinux_nlmsg_perm: 16258 callbacks suppressed SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=6503 comm=syz-executor.3 netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.2'.