=============================== [ 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/22313: #0: (rcu_read_lock_bh){......}, at: [<000000006436ebfe>] ip_finish_output2+0x20b/0x1280 net/ipv4/ip_output.c:198 #1: (rcu_read_lock_bh){......}, at: [<0000000090974a32>] __dev_queue_xmit+0x1d4/0x1bd0 net/core/dev.c:3407 #2: (_xmit_TUNNEL6#2){+.-...}, at: [<000000007c7c6ec9>] spin_lock include/linux/spinlock.h:302 [inline] #2: (_xmit_TUNNEL6#2){+.-...}, at: [<000000007c7c6ec9>] __netif_tx_lock include/linux/netdevice.h:3573 [inline] #2: (_xmit_TUNNEL6#2){+.-...}, at: [<000000007c7c6ec9>] __dev_queue_xmit+0x1116/0x1bd0 net/core/dev.c:3469 #3: (slock-AF_INET){+.-...}, at: [<00000000962f1a8a>] spin_trylock include/linux/spinlock.h:312 [inline] #3: (slock-AF_INET){+.-...}, at: [<00000000962f1a8a>] icmp_xmit_lock net/ipv4/icmp.c:220 [inline] #3: (slock-AF_INET){+.-...}, at: [<00000000962f1a8a>] __icmp_send+0x48b/0x1420 net/ipv4/icmp.c:656 stack backtrace: CPU: 0 PID: 22313 Comm: syz-executor.4 Not tainted 4.9.205-syzkaller #0 ffff880127f86dd8 ffffffff81b55e6b ffff8801c848cdc0 0000000000000000 0000000000000002 00000000000000cd ffff8801399217c0 ffff880127f86e08 ffffffff81406997 ffff8801c848ce18 ffff880127f86f28 ffff8801a5968000 Call Trace: [<0000000065f21c83>] __dump_stack lib/dump_stack.c:15 [inline] [<0000000065f21c83>] dump_stack+0xcb/0x130 lib/dump_stack.c:56 [<00000000ec4df495>] lockdep_rcu_suspicious.cold+0x10a/0x149 kernel/locking/lockdep.c:4458 [<000000009ae5d1e8>] __in_dev_get_rcu include/linux/inetdevice.h:205 [inline] [<000000009ae5d1e8>] fib_compute_spec_dst+0x6c4/0xcc0 net/ipv4/fib_frontend.c:284 [<0000000032b7ba96>] __ip_options_echo+0x4be/0x13e0 net/ipv4/ip_options.c:177 [<00000000908375e0>] __icmp_send+0x648/0x1420 net/ipv4/icmp.c:685 [<00000000bd4c6ac4>] ipv4_send_dest_unreach net/ipv4/route.c:1203 [inline] [<00000000bd4c6ac4>] ipv4_link_failure+0x460/0x850 net/ipv4/route.c:1210 [<0000000018fbc124>] dst_link_failure include/net/dst.h:490 [inline] [<0000000018fbc124>] vti6_xmit net/ipv6/ip6_vti.c:522 [inline] [<0000000018fbc124>] vti6_tnl_xmit+0xb08/0x17f0 net/ipv6/ip6_vti.c:561 [<000000005bd380c3>] __netdev_start_xmit include/linux/netdevice.h:4072 [inline] [<000000005bd380c3>] netdev_start_xmit include/linux/netdevice.h:4081 [inline] [<000000005bd380c3>] xmit_one net/core/dev.c:2977 [inline] [<000000005bd380c3>] dev_hard_start_xmit+0x195/0x8b0 net/core/dev.c:2993 [<0000000001bdefb3>] __dev_queue_xmit+0x11a3/0x1bd0 net/core/dev.c:3473 [<00000000ac397c0e>] dev_queue_xmit+0x18/0x20 net/core/dev.c:3506 [<000000004bcb8037>] neigh_direct_output+0x16/0x20 net/core/neighbour.c:1368 [<0000000028c89907>] dst_neigh_output include/net/dst.h:470 [inline] [<0000000028c89907>] ip_finish_output2+0x6a2/0x1280 net/ipv4/ip_output.c:225 [<00000000eec7de3f>] ip_finish_output+0x3c4/0xce0 net/ipv4/ip_output.c:313 [<00000000f3bfdc4b>] NF_HOOK_COND include/linux/netfilter.h:246 [inline] [<00000000f3bfdc4b>] ip_output+0x1ec/0x5b0 net/ipv4/ip_output.c:401 [<0000000029a8d656>] dst_output include/net/dst.h:507 [inline] [<0000000029a8d656>] NF_HOOK_THRESH include/linux/netfilter.h:232 [inline] [<0000000029a8d656>] NF_HOOK include/linux/netfilter.h:255 [inline] [<0000000029a8d656>] raw_send_hdrinc net/ipv4/raw.c:421 [inline] [<0000000029a8d656>] raw_sendmsg+0x1c5c/0x23e0 net/ipv4/raw.c:643 [<0000000021d245d5>] inet_sendmsg+0x202/0x4d0 net/ipv4/af_inet.c:766 [<00000000354703ae>] sock_sendmsg_nosec net/socket.c:649 [inline] [<00000000354703ae>] sock_sendmsg+0xbe/0x110 net/socket.c:659 [<0000000052a698d9>] sock_write_iter+0x235/0x3d0 net/socket.c:857 [<000000004cb4e704>] new_sync_write fs/read_write.c:498 [inline] [<000000004cb4e704>] __vfs_write+0x3c1/0x560 fs/read_write.c:511 [<00000000197cd97f>] vfs_write+0x185/0x520 fs/read_write.c:559 [<00000000680ae6bb>] SYSC_write fs/read_write.c:607 [inline] [<00000000680ae6bb>] SyS_write+0x121/0x270 fs/read_write.c:599 [<000000006a8ffcaf>] do_syscall_64+0x1ad/0x5c0 arch/x86/entry/common.c:288 [<00000000907afcd8>] entry_SYSCALL_64_after_swapgs+0x5d/0xdb devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.0'. devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options devpts: called with bogus options netlink: 64 bytes leftover after parsing attributes in process `syz-executor.3'. devpts: called with bogus options