============================= WARNING: suspicious RCU usage 5.16.0-rc8-syzkaller #0 Not tainted ----------------------------- include/linux/netfilter_netdev.h:97 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 6 locks held by kworker/1:5/13018: #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline] #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: arch_atomic_long_set include/linux/atomic/atomic-long.h:41 [inline] #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: atomic_long_set include/linux/atomic/atomic-instrumented.h:1198 [inline] #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: set_work_data kernel/workqueue.c:635 [inline] #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: set_work_pool_and_clear_pending kernel/workqueue.c:662 [inline] #0: ffff8880775ea938 ((wq_completion)wg-crypt-wg0#12){+.+.}-{0:0}, at: process_one_work+0x896/0x1660 kernel/workqueue.c:2269 #1: ffffc900050e7db0 ((work_completion)(&peer->transmit_packet_work)){+.+.}-{0:0}, at: process_one_work+0x8ca/0x1660 kernel/workqueue.c:2273 #2: ffff888029981578 (&peer->endpoint_lock){++-.}-{2:2}, at: wg_socket_send_skb_to_peer+0x5e/0x220 drivers/net/wireguard/socket.c:172 #3: ffffffff8bb81240 (rcu_read_lock_bh){....}-{1:2}, at: send4+0x211/0xe50 drivers/net/wireguard/socket.c:36 #4: ffffffff8bb81240 (rcu_read_lock_bh){....}-{1:2}, at: lwtunnel_xmit_redirect include/net/lwtunnel.h:95 [inline] #4: ffffffff8bb81240 (rcu_read_lock_bh){....}-{1:2}, at: ip_finish_output2+0x28c/0x2160 net/ipv4/ip_output.c:207 #5: ffffffff8bb81240 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1e3/0x3650 net/core/dev.c:4153 stack backtrace: CPU: 1 PID: 13018 Comm: kworker/1:5 Not tainted 5.16.0-rc8-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: wg-crypt-wg0 wg_packet_tx_worker Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 nf_hook_egress include/linux/netfilter_netdev.h:97 [inline] __dev_queue_xmit+0x2ec3/0x3650 net/core/dev.c:4170 neigh_hh_output include/net/neighbour.h:511 [inline] neigh_output include/net/neighbour.h:525 [inline] ip_finish_output2+0x14cb/0x2160 net/ipv4/ip_output.c:221 __ip_finish_output net/ipv4/ip_output.c:299 [inline] __ip_finish_output+0x396/0x640 net/ipv4/ip_output.c:281 ip_finish_output+0x32/0x200 net/ipv4/ip_output.c:309 NF_HOOK_COND include/linux/netfilter.h:296 [inline] ip_output+0x196/0x310 net/ipv4/ip_output.c:423 dst_output include/net/dst.h:450 [inline] ip_local_out+0xaf/0x1a0 net/ipv4/ip_output.c:126 iptunnel_xmit+0x628/0xa50 net/ipv4/ip_tunnel_core.c:82 send4+0x42a/0xe50 drivers/net/wireguard/socket.c:85 wg_socket_send_skb_to_peer+0x192/0x220 drivers/net/wireguard/socket.c:174 wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline] wg_packet_tx_worker+0x1a7/0x720 drivers/net/wireguard/send.c:276 process_one_work+0x9b2/0x1660 kernel/workqueue.c:2298 worker_thread+0x65d/0x1130 kernel/workqueue.c:2445 kthread+0x405/0x4f0 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295