BUG: workqueue lockup - pool cpus=0 node=0 flags=0x0 nice=0 stuck for 33s! Showing busy workqueues and worker pools: workqueue events: flags=0x0 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=4 refcnt=5 pending: nsim_dev_trap_report_work, psi_avgs_work, vmstat_shepherd, psi_avgs_work pwq 6: cpus=1 node=0 flags=0x0 nice=0 active=1 refcnt=2 in-flight: 23:nsim_dev_trap_report_work workqueue events_unbound: flags=0x2 pwq 8: cpus=0-1 flags=0x4 nice=0 active=5 refcnt=6 in-flight: 55:call_usermodehelper_exec_work ,1116:fsnotify_mark_destroy_workfn fsnotify_mark_destroy_workfn ,10:fsnotify_connector_destroy_workfn fsnotify_connector_destroy_workfn workqueue events_power_efficient: flags=0x82 pwq 8: cpus=0-1 flags=0x4 nice=0 active=2 refcnt=3 in-flight: 772:wg_ratelimiter_gc_entries ,1106:gc_worker workqueue rcu_gp: flags=0x8 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: srcu_invoke_callbacks workqueue netns: flags=0x6000a pwq 8: cpus=0-1 flags=0x4 nice=0 active=1 refcnt=4 in-flight: 775:cleanup_net workqueue mm_percpu_wq: flags=0x8 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: vmstat_update workqueue dm_bufio_cache: flags=0x8 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: work_fn workqueue wg-crypt-wg0: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=4 refcnt=5 in-flight: 3188:wg_packet_tx_worker pending: wg_packet_encrypt_worker, wg_packet_tx_worker, wg_packet_decrypt_worker workqueue wg-kex-wg1: flags=0x24 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_handshake_receive_worker workqueue wg-crypt-wg1: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_tx_worker, wg_packet_encrypt_worker workqueue wg-kex-wg2: flags=0x24 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=1 refcnt=2 pending: wg_packet_handshake_receive_worker workqueue wg-crypt-wg2: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_worker, wg_packet_tx_worker workqueue wg-crypt-wg0: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_encrypt_worker, wg_packet_tx_worker, wg_packet_decrypt_worker workqueue wg-crypt-wg1: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=3 refcnt=4 pending: wg_packet_decrypt_worker, wg_packet_encrypt_worker, wg_packet_tx_worker workqueue wg-crypt-wg2: flags=0x28 pwq 2: cpus=0 node=0 flags=0x0 nice=0 active=2 refcnt=3 pending: wg_packet_encrypt_worker, wg_packet_tx_worker pool 2: cpus=0 node=0 flags=0x0 nice=0 hung=33s workers=6 idle: 936 7 3325 9 3189 pool 6: cpus=1 node=0 flags=0x0 nice=0 hung=0s workers=5 idle: 3187 3489 28 2965 pool 8: cpus=0-1 flags=0x4 nice=0 hung=0s workers=9 idle: 40 100 25 Showing backtraces of running workers in stalled CPU-bound worker pools: pool 2: task:kworker/0:3 state:R running task stack:0 pid:3188 tgid:3188 ppid:2 flags:0x00000008 Workqueue: wg-crypt-wg0 wg_packet_tx_worker Call trace: __switch_to+0x1c8/0x2a0 arch/arm64/kernel/process.c:553 context_switch kernel/sched/core.c:5409 [inline] __schedule+0xad8/0x2b30 kernel/sched/core.c:6746 preempt_schedule_common kernel/sched/core.c:6925 [inline] preempt_schedule+0xf4/0x254 kernel/sched/core.c:6949 __local_bh_enable_ip+0x380/0x4a0 kernel/softirq.c:389 __raw_read_unlock_bh include/linux/rwlock_api_smp.h:257 [inline] _raw_read_unlock_bh+0x44/0x54 kernel/locking/spinlock.c:284 wg_socket_send_skb_to_peer+0xf0/0x188 drivers/net/wireguard/socket.c:184 wg_packet_create_data_done drivers/net/wireguard/send.c:251 [inline] wg_packet_tx_worker+0x128/0x4e8 drivers/net/wireguard/send.c:276 process_one_work+0x78c/0x1898 kernel/workqueue.c:3254 process_scheduled_works kernel/workqueue.c:3335 [inline] worker_thread+0x764/0xc24 kernel/workqueue.c:3416 kthread+0x27c/0x300 kernel/kthread.c:388 ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:860