BUG: sleeping function called from invalid context at kernel/workqueue.c:3010 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 15, name: ksoftirqd/0 preempt_count: 101, expected: 0 RCU nest depth: 2, expected: 0 3 locks held by ksoftirqd/0/15: #0: ffffffff8bd87040 (rcu_read_lock){....}-{1:2}, at: __skb_unlink include/linux/skbuff.h:2292 [inline] #0: ffffffff8bd87040 (rcu_read_lock){....}-{1:2}, at: __skb_dequeue include/linux/skbuff.h:2307 [inline] #0: ffffffff8bd87040 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x34b/0x7c0 net/core/dev.c:5920 #1: ffffffff8bd87040 (rcu_read_lock){....}-{1:2}, at: __skb_pull include/linux/skbuff.h:2542 [inline] #1: ffffffff8bd87040 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x206/0x4c0 net/ipv4/ip_input.c:230 #2: ffff88801d796cb0 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x31a9/0x3930 net/ipv4/tcp_ipv4.c:2072 Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:409 [inline] [] __do_softirq+0xe1/0x9c2 kernel/softirq.c:547 CPU: 0 PID: 15 Comm: ksoftirqd/0 Not tainted 5.19.0-rc4-next-20220628-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 __might_resched.cold+0x222/0x26b kernel/sched/core.c:9859 start_flush_work kernel/workqueue.c:3010 [inline] __flush_work+0x109/0xb10 kernel/workqueue.c:3074 __cancel_work_timer+0x3f9/0x570 kernel/workqueue.c:3162 sk_psock_stop+0x4cb/0x630 net/core/skmsg.c:810 sock_map_destroy+0x333/0x760 net/core/sock_map.c:1581 inet_csk_destroy_sock+0x196/0x440 net/ipv4/inet_connection_sock.c:1011 tcp_done+0x23b/0x340 net/ipv4/tcp.c:4572 tcp_rcv_state_process+0x1b34/0x4eb0 net/ipv4/tcp_input.c:6612 tcp_v4_do_rcv+0x339/0x9b0 net/ipv4/tcp_ipv4.c:1682 tcp_v4_rcv+0x3436/0x3930 net/ipv4/tcp_ipv4.c:2076 ip_protocol_deliver_rcu+0xa3/0x7c0 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2e8/0x4c0 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ip_local_deliver+0x1aa/0x200 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:461 [inline] ip_rcv_finish+0x1cb/0x2f0 net/ipv4/ip_input.c:437 NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] ip_rcv+0xaa/0xd0 net/ipv4/ip_input.c:557 __netif_receive_skb_one_core+0x114/0x180 net/core/dev.c:5480 __netif_receive_skb+0x1f/0x1c0 net/core/dev.c:5594 process_backlog+0x3a0/0x7c0 net/core/dev.c:5922 __napi_poll+0xb3/0x6d0 net/core/dev.c:6506 napi_poll net/core/dev.c:6573 [inline] net_rx_action+0x9c1/0xd90 net/core/dev.c:6684 __do_softirq+0x29b/0x9c2 kernel/softirq.c:571 run_ksoftirqd kernel/softirq.c:934 [inline] run_ksoftirqd+0x2d/0x60 kernel/softirq.c:926 smpboot_thread_fn+0x645/0x9c0 kernel/smpboot.c:164 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302