BUG: sleeping function called from invalid context at net/core/sock.c:2935 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 3140, name: kworker/1:105 3 locks held by kworker/1:105/3140: #0: ffff8880aa426d28 ((wq_completion)events){+.+.}, at: spin_unlock_irq include/linux/spinlock.h:388 [inline] #0: ffff8880aa426d28 ((wq_completion)events){+.+.}, at: process_one_work+0x763/0x10f0 kernel/workqueue.c:2237 #1: ffffc90008e6fd78 ((work_completion)(&map->work)){+.+.}, at: process_one_work+0x7a5/0x10f0 kernel/workqueue.c:2239 #2: ffffc90017156f20 (&htab->buckets[i].lock#2){+...}, at: sock_hash_free+0xd7/0x460 net/core/sock_map.c:869 Preemption disabled at: [] sock_hash_free+0xd7/0x460 net/core/sock_map.c:869 CPU: 1 PID: 3140 Comm: kworker/1:105 Not tainted 5.6.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events bpf_map_free_deferred Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x1fb/0x318 lib/dump_stack.c:118 ___might_sleep+0x449/0x5e0 kernel/sched/core.c:6800 __might_sleep+0x8f/0x100 kernel/sched/core.c:6753 lock_sock_nested+0x36/0x120 net/core/sock.c:2935 lock_sock include/net/sock.h:1516 [inline] sock_hash_free+0x200/0x460 net/core/sock_map.c:872 bpf_map_free_deferred+0xb2/0x110 kernel/bpf/syscall.c:474 process_one_work+0x7f5/0x10f0 kernel/workqueue.c:2264 worker_thread+0xbbc/0x1630 kernel/workqueue.c:2410 kthread+0x332/0x350 kernel/kthread.c:255 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:352 ======================================================